Added logging
This commit is contained in:
parent
09e3dfc336
commit
3845906a87
@ -1,3 +1,5 @@
|
|||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||||
import javax.swing.text.DefaultFormatterFactory;
|
import javax.swing.text.DefaultFormatterFactory;
|
||||||
@ -41,6 +43,13 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
private final MapsCollection _mapsCollection;
|
private final MapsCollection _mapsCollection;
|
||||||
private final Stack<IDrawingObject> deletedObjects = new Stack<>();
|
private final Stack<IDrawingObject> deletedObjects = new Stack<>();
|
||||||
|
|
||||||
|
private Logger logger;
|
||||||
|
|
||||||
|
public FormMapWithSetArtilleries(Logger logger) {
|
||||||
|
this();
|
||||||
|
this.logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
public FormMapWithSetArtilleries() {
|
public FormMapWithSetArtilleries() {
|
||||||
this.setTitle("Artillery");
|
this.setTitle("Artillery");
|
||||||
this.setContentPane(paneArtilleries);
|
this.setContentPane(paneArtilleries);
|
||||||
@ -68,9 +77,11 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
_mapsCollection.saveData(dialog.getSelectedFile().getAbsolutePath());
|
_mapsCollection.saveData(dialog.getSelectedFile().getAbsolutePath());
|
||||||
|
logger.info("Сохранение в файл \"" + dialog.getSelectedFile().getAbsolutePath() + "\"");
|
||||||
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.error("Ошибка сохранения в файл: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -85,8 +96,10 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
try {
|
try {
|
||||||
_mapsCollection.loadData(dialog.getSelectedFile().getAbsolutePath());
|
_mapsCollection.loadData(dialog.getSelectedFile().getAbsolutePath());
|
||||||
reloadMaps();
|
reloadMaps();
|
||||||
|
logger.info("Загрузка из файла \"" + dialog.getSelectedFile().getAbsolutePath() + "\"");
|
||||||
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.error("Ошибка загрузки из файла: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -100,8 +113,10 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
_mapsCollection.saveMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""), dialog.getSelectedFile().getAbsolutePath());
|
_mapsCollection.saveMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""), dialog.getSelectedFile().getAbsolutePath());
|
||||||
|
logger.info("Сохранение карты в файл \"" + dialog.getSelectedFile().getAbsolutePath() + "\"");
|
||||||
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.error("Ошибка сохранения карты в файл: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -116,8 +131,10 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
try {
|
try {
|
||||||
_mapsCollection.loadMap(dialog.getSelectedFile().getAbsolutePath());
|
_mapsCollection.loadMap(dialog.getSelectedFile().getAbsolutePath());
|
||||||
reloadMaps();
|
reloadMaps();
|
||||||
|
logger.info("Загрузка карты из файла \"" + dialog.getSelectedFile().getAbsolutePath() + "\"");
|
||||||
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.error("Ошибка загрузки карты из файла: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -132,15 +149,18 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
|
|
||||||
buttonAddMap.addActionListener(e -> {
|
buttonAddMap.addActionListener(e -> {
|
||||||
if (comboBoxMapSelector.getSelectedIndex() == -1 || textFieldMapName.getText() == null || textFieldMapName.getText().isEmpty()) {
|
if (comboBoxMapSelector.getSelectedIndex() == -1 || textFieldMapName.getText() == null || textFieldMapName.getText().isEmpty()) {
|
||||||
|
logger.warn("Не удалось добавить карту: Не все данные заполнены");
|
||||||
JOptionPane.showMessageDialog(this, "Не все данные заполнены", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не все данные заполнены", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!_mapsDict.containsKey((String)comboBoxMapSelector.getSelectedItem())) {
|
if (!_mapsDict.containsKey((String)comboBoxMapSelector.getSelectedItem())) {
|
||||||
|
logger.warn("Не удалось добавить карту: Нет такой карты");
|
||||||
JOptionPane.showMessageDialog(this, "Нет такой карты", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Нет такой карты", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_mapsCollection.addMap(textFieldMapName.getText(), _mapsDict.get((String)comboBoxMapSelector.getSelectedItem()));
|
_mapsCollection.addMap(textFieldMapName.getText(), _mapsDict.get((String)comboBoxMapSelector.getSelectedItem()));
|
||||||
reloadMaps();
|
reloadMaps();
|
||||||
|
logger.info("Добавлена карта \"" + textFieldMapName.getText() + "\" типа " + _mapsDict.get((String)comboBoxMapSelector.getSelectedItem()));
|
||||||
});
|
});
|
||||||
|
|
||||||
buttonDeleteMap.addActionListener(e -> {
|
buttonDeleteMap.addActionListener(e -> {
|
||||||
@ -150,6 +170,7 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
|
|
||||||
if (JOptionPane.showConfirmDialog(this, "Удалить карту " + listBoxMaps.getSelectedValue() + "?", "Удаление", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
if (JOptionPane.showConfirmDialog(this, "Удалить карту " + listBoxMaps.getSelectedValue() + "?", "Удаление", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||||
_mapsCollection.deleteMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""));
|
_mapsCollection.deleteMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""));
|
||||||
|
logger.info("Удалена карта \"" + listBoxMaps.getSelectedValue() + "\"");
|
||||||
reloadMaps();
|
reloadMaps();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -158,6 +179,7 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
if (listBoxMaps.getSelectedValue() != null) {
|
if (listBoxMaps.getSelectedValue() != null) {
|
||||||
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
||||||
repaint();
|
repaint();
|
||||||
|
logger.info("Переход на карту \"" + listBoxMaps.getSelectedValue() + "\"");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -175,12 +197,16 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
JOptionPane.showMessageDialog(this, "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
||||||
repaint();
|
repaint();
|
||||||
|
logger.info("Добавлен новый объект");
|
||||||
} else {
|
} else {
|
||||||
|
logger.warn("Не удалось добавить объект");
|
||||||
JOptionPane.showMessageDialog(this, "Не удалось добавить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не удалось добавить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
} catch (StorageOverflowException ex) {
|
} catch (StorageOverflowException ex) {
|
||||||
|
logger.warn("Ошибка переполнения хранилища: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Ошибка переполнения хранилища: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Ошибка переполнения хранилища: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.fatal("Неизвестная ошибка: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -207,12 +233,16 @@ public class FormMapWithSetArtilleries extends JFrame {
|
|||||||
JOptionPane.showMessageDialog(this, "Объект удалён", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Объект удалён", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||||
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
|
||||||
repaint();
|
repaint();
|
||||||
|
logger.info("Удалён объект");
|
||||||
} else {
|
} else {
|
||||||
|
logger.warn("Не удалось удалить объект по позиции " + position + ". Объект равен null");
|
||||||
JOptionPane.showMessageDialog(this, "Не удалось удалить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не удалось удалить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
} catch (ArtilleryNotFoundException ex) {
|
} catch (ArtilleryNotFoundException ex) {
|
||||||
|
logger.warn("Ошибка удаления: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Не удалось найти артиллерию по позиции: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Не удалось найти артиллерию по позиции: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.error("Неизвестная ошибка: " + ex.getMessage());
|
||||||
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import org.apache.logging.log4j.*;
|
||||||
|
|
||||||
public class Program {
|
public class Program {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
FormMapWithSetArtilleries form = new FormMapWithSetArtilleries();
|
FormMapWithSetArtilleries form = new FormMapWithSetArtilleries(LogManager.getLogger(Program.class));
|
||||||
form.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
|
form.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
log4j2.xml
Normal file
25
log4j2.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="info" >
|
||||||
|
<Appenders>
|
||||||
|
<File name="error" fileName="error.log" append="true">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%-5level %msg (%d{dd.MM.yyyy})%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||||
|
</File>
|
||||||
|
<File name="info" fileName="info.log" append="true">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%-5level %msg (%d{dd.MM.yyyy})%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT"/>
|
||||||
|
</File>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
<Root level="INFO">
|
||||||
|
<AppenderRef ref="info" />
|
||||||
|
<AppenderRef ref="error" />
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
|
||||||
|
</Configuration>
|
Loading…
Reference in New Issue
Block a user