From d9bf6a89647be8d7ef0e4418d27198f25e398889 Mon Sep 17 00:00:00 2001 From: prodigygirl Date: Sat, 3 Dec 2022 17:29:13 +0400 Subject: [PATCH] =?UTF-8?q?2.=20=D0=9B=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20(=D1=8D=D1=82=D0=BE=20=D0=B1=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/FormMapWithArmoredCars.java | 32 ++++++++++++++++++++--- src/main/java/Program.java | 20 +++++++++++++- src/main/java/logger.config | 7 +++++ 3 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 src/main/java/logger.config diff --git a/src/main/java/FormMapWithArmoredCars.java b/src/main/java/FormMapWithArmoredCars.java index 874aecc..3664213 100644 --- a/src/main/java/FormMapWithArmoredCars.java +++ b/src/main/java/FormMapWithArmoredCars.java @@ -4,6 +4,8 @@ import java.awt.event.*; import java.util.HashMap; import java.util.LinkedList; import java.util.Queue; +import java.util.logging.Level; +import java.util.logging.Logger; public class FormMapWithArmoredCars extends JFrame{ private JButton buttonAddArmoredCar; @@ -36,8 +38,11 @@ public class FormMapWithArmoredCars extends JFrame{ private final MapsCollection _mapsCollection; private final Queue queue = new LinkedList<>(); - public FormMapWithArmoredCars() { + private final Logger logger; + + public FormMapWithArmoredCars(Logger logger) { super("Карта с набором объектов"); + this.logger = logger; setBounds(100, 100, 1000, 725); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -93,18 +98,22 @@ public class FormMapWithArmoredCars extends JFrame{ if (armoredCar != null) { queue.add((DrawingObjectArmoredCar) armoredCar); + logger.log(Level.INFO,"Удален объект: " + armoredCar.GetInfo()); JOptionPane.showMessageDialog(null, "Объект удален"); img = _mapsCollection.get((String) listBoxMaps.getSelectedValue()).ShowSet(); } else { + logger.log(Level.WARNING,"Не удалось удалить объект"); JOptionPane.showMessageDialog(null, "Не удалось удалить объект"); } } catch (ArmoredCarNotFoundException ex) { + logger.log(Level.WARNING,"Ошибка удаления: " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Ошибка удаления: " + ex.getMessage()); } catch (Exception ex) { + logger.log(Level.WARNING,"Неизвестная ошибка: " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Неизвестная ошибка: " + ex.getMessage()); } } @@ -169,22 +178,26 @@ public class FormMapWithArmoredCars extends JFrame{ public void actionPerformed(ActionEvent e) { if (mapSelectorComboBox.getSelectedIndex() == -1 || textBoxNewMapName.getText().equals("")) { + logger.log(Level.WARNING, "Не все данные заполнены"); JOptionPane.showMessageDialog(null, "Не все данные заполнены", "Ошибка", JOptionPane.ERROR_MESSAGE); return; } if (!_mapsDict.containsKey((String) mapSelectorComboBox.getSelectedItem())) { + logger.log(Level.WARNING, "Нет такой карты"); JOptionPane.showMessageDialog(null, "Нет такой карты", "Ошибка", JOptionPane.ERROR_MESSAGE); return; } _mapsCollection.AddMap(textBoxNewMapName.getText(), _mapsDict.get((String) mapSelectorComboBox.getSelectedItem())); ReloadMaps(); + logger.log(Level.INFO, "Добавлена карта " + mapSelectorComboBox.getSelectedItem()); } }); _mapsCollection = new MapsCollection(drawPanel.getWidth(), drawPanel.getHeight()); listBoxMaps.addListSelectionListener(e -> { if (listBoxMaps.getSelectedValue() != null) { + logger.log(Level.INFO, "Переход на карту " + listBoxMaps.getSelectedValue().toString()); img = _mapsCollection.get((String) listBoxMaps.getSelectedValue()).ShowSet(); repaint(); } @@ -202,6 +215,7 @@ public class FormMapWithArmoredCars extends JFrame{ listBoxMaps.getSelectedValue()+ "?", "Удаление", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { _mapsCollection.DelMap((String) listBoxMaps.getSelectedValue()); + logger.log(Level.INFO, "Удалена карта " + listBoxMaps.getSelectedValue()); ReloadMaps(); } } @@ -255,17 +269,21 @@ public class FormMapWithArmoredCars extends JFrame{ try { if (_mapsCollection.get((String)listBoxMaps.getSelectedValue()).add(armoredCar) > -1) { + logger.log(Level.INFO, "Объект добавлен"); JOptionPane.showMessageDialog(null, "Объект добавлен"); img = _mapsCollection.get((String) listBoxMaps.getSelectedValue()).ShowSet(); repaint(); } else { + logger.log(Level.WARNING, "Не удалось добавить объект"); JOptionPane.showMessageDialog(null, "Не удалось добавить объект"); } } catch (StorageOverflowException ex) { + logger.log(Level.WARNING, "Ошибка добавления: " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Ошибка добавления: " + ex.getMessage()); } catch (Exception ex) { + logger.log(Level.WARNING, "Неизвестная ошибка: " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Неизвестная ошибка: " + ex.getMessage()); } @@ -280,16 +298,20 @@ public class FormMapWithArmoredCars extends JFrame{ if (type.equals("Файл")) { try { _mapsCollection.SaveData(fd.getDirectory() + filename); + logger.log(Level.INFO, "Сохранение в файл " + fd.getDirectory() + filename); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно"); } catch (Exception ex) { + logger.log(Level.WARNING, "Не сохранилось " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Не сохранилось " + ex.getMessage()); } } else if (type.equals("Файл карты")){ if (_mapsCollection.SaveDataMap(fd.getDirectory() + filename, (String) listBoxMaps.getSelectedValue())) { + logger.log(Level.INFO, "Сохранение одной карты в файл " + fd.getDirectory() + filename); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно"); } else { + logger.log(Level.WARNING, "Не сохранилось "); JOptionPane.showMessageDialog(null, "Не сохранилось"); } } @@ -306,18 +328,22 @@ public class FormMapWithArmoredCars extends JFrame{ try { _mapsCollection.LoadData(fd.getDirectory() + filename); JOptionPane.showMessageDialog(null, "Загрузка прошла успешно"); + logger.log(Level.INFO, "Загрузка из файла" + fd.getDirectory() + filename); ReloadMaps(); } - catch (Exception exception) + catch (Exception ex) { - JOptionPane.showMessageDialog(null, "Не загрузилось " + exception.getMessage()); + logger.log(Level.WARNING, "Не загрузилось " + ex.getMessage()); + JOptionPane.showMessageDialog(null, "Не загрузилось " + ex.getMessage()); } } else if (type.equals("Файл карты")){ if (_mapsCollection.LoadDataMap(fd.getDirectory() + filename)) { + logger.log(Level.INFO, "Загрузка одной карты из файла" + fd.getDirectory() + filename); JOptionPane.showMessageDialog(null, "Загрузка прошла успешно"); ReloadMaps(); } else { + logger.log(Level.WARNING, "Не загрузилось"); JOptionPane.showMessageDialog(null, "Не загрузилось"); } } diff --git a/src/main/java/Program.java b/src/main/java/Program.java index 10c57af..79f96e1 100644 --- a/src/main/java/Program.java +++ b/src/main/java/Program.java @@ -1,5 +1,23 @@ +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.logging.LogManager; +import java.util.logging.Logger; + public class Program { + private static Logger LOGGER = null; public static void main(String[] args) { - new FormMapWithArmoredCars(); +// LOGGER config + try { + FileInputStream fileInputStream = new FileInputStream(new File("src/main/java/logger.config")); + LogManager.getLogManager().readConfiguration(fileInputStream); + LOGGER = Logger.getGlobal(); + } + catch (IOException e) { + e.printStackTrace(); + } + + new FormMapWithArmoredCars(LOGGER); } } diff --git a/src/main/java/logger.config b/src/main/java/logger.config new file mode 100644 index 0000000..58db1bb --- /dev/null +++ b/src/main/java/logger.config @@ -0,0 +1,7 @@ +handlers=java.util.logging.FileHandler +java.util.logging.FileHandler.level=INFO +java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.FileHandler.SimpleFormatter.format=%4$S %5$S (%1$td.%1$tm.%1$tY) %n +java.util.logging.FileHandler.append=true +java.util.logging.FileHandler.encoding=UTF-8 +java.util.logging.FileHandler.pattern=log.txt