From 47dfc705d85f620844f7bde43ee80106901bb0f9 Mon Sep 17 00:00:00 2001 From: Danila_Mochalov Date: Tue, 8 Nov 2022 01:12:30 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BB=D0=BE=D0=B3=D0=B3=D0=B5=D1=80,=20=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=D0=BE=D1=81=D1=8C=20=D0=BF=D0=BE=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=82=D1=8C=20=D0=BA=D0=BE=D0=B4=20=D0=B8=20?= =?UTF-8?q?=D1=83=D0=B1=D0=B5=D0=B4=D0=B8=D1=82=D1=8C=D1=81=D1=8F=20=D0=B2?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BE=D1=81=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Locomotive/Locomotive/FormMapWithSetLocomotives.cs | 13 ++++++++++++- Locomotive/Locomotive/Locomotive.csproj | 7 +++++++ Locomotive/Locomotive/MapsCollection.cs | 5 ++++- Locomotive/Locomotive/Program.cs | 5 +++++ Locomotive/Locomotive/SetLocomotivesGeneric.cs | 14 +++++++++++--- 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/Locomotive/Locomotive/FormMapWithSetLocomotives.cs b/Locomotive/Locomotive/FormMapWithSetLocomotives.cs index 1e15a30..19b6790 100644 --- a/Locomotive/Locomotive/FormMapWithSetLocomotives.cs +++ b/Locomotive/Locomotive/FormMapWithSetLocomotives.cs @@ -1,4 +1,6 @@ -using System; +using Serilog; +using Serilog.Formatting.Compact; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -21,6 +23,8 @@ namespace Locomotive }; /// Объект от коллекции карт private readonly MapsCollection _mapsCollection; + + /// Конструктор public FormMapWithSetLocomotives() { @@ -64,12 +68,14 @@ namespace Locomotive return; } _mapsCollection.AddMap(textBoxNewMapName.Text, _mapsDict[comboBoxSelectorMap.Text]); + Log.Information($"Map {textBoxNewMapName.Text} added"); ReloadMaps(); } /// Выбор карты private void listBoxMaps_SelectedIndexChanged(object sender, EventArgs e) { pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); + Log.Information($"Map switched to {listBoxMaps.SelectedItem?.ToString() ?? string.Empty}"); } /// Удаление карты private void buttonDeleteMap_Click(object sender, EventArgs e) @@ -81,6 +87,7 @@ namespace Locomotive if (MessageBox.Show($"Delete map {listBoxMaps.SelectedItem}?","Deleting", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { _mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty); + Log.Information($"Map {listBoxMaps.SelectedItem?.ToString() ?? string.Empty} deleted"); ReloadMaps(); } } @@ -105,6 +112,7 @@ namespace Locomotive { MessageBox.Show("Object added"); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); + Log.Information($"Locomotive {locomotive} added"); } else @@ -144,6 +152,7 @@ namespace Locomotive if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null) { MessageBox.Show("Object removed"); + Log.Information($"Locomotive at {pos} deleted"); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); } else @@ -217,6 +226,7 @@ namespace Locomotive { _mapsCollection.SaveData(saveFileDialog.FileName); MessageBox.Show("Saving success", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + Log.Information($"Saved to {saveFileDialog.FileName}"); } catch (Exception ex) { @@ -234,6 +244,7 @@ namespace Locomotive { _mapsCollection.LoadData(loadFileDialog.FileName); MessageBox.Show("Loaded successfully", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + Log.Information($"Loaded from {loadFileDialog.FileName}"); ReloadMaps(); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); } diff --git a/Locomotive/Locomotive/Locomotive.csproj b/Locomotive/Locomotive/Locomotive.csproj index 13ee123..4a08ebd 100644 --- a/Locomotive/Locomotive/Locomotive.csproj +++ b/Locomotive/Locomotive/Locomotive.csproj @@ -8,6 +8,13 @@ enable + + + + + + + True diff --git a/Locomotive/Locomotive/MapsCollection.cs b/Locomotive/Locomotive/MapsCollection.cs index 67427df..01faa30 100644 --- a/Locomotive/Locomotive/MapsCollection.cs +++ b/Locomotive/Locomotive/MapsCollection.cs @@ -1,4 +1,5 @@ -using System; +using Serilog; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -78,6 +79,7 @@ namespace Locomotive { if (!File.Exists(filename)) { + Log.Warning($"FileNotFoundException {filename}"); throw new FileNotFoundException("Файл не найден"); } using (FileStream fs = new(filename, FileMode.Open)) @@ -87,6 +89,7 @@ namespace Locomotive if (!curLine.Contains("MapsCollection")) { + Log.Warning($"FileFormatException"); throw new FileFormatException("Формат данных в файле неправильный"); } diff --git a/Locomotive/Locomotive/Program.cs b/Locomotive/Locomotive/Program.cs index ceb3e6a..50c16fd 100644 --- a/Locomotive/Locomotive/Program.cs +++ b/Locomotive/Locomotive/Program.cs @@ -1,3 +1,5 @@ +using Serilog; + namespace Locomotive { internal static class Program @@ -10,6 +12,9 @@ namespace Locomotive { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. + + + Log.Logger = new LoggerConfiguration().WriteTo.File(new Serilog.Formatting.Compact.CompactJsonFormatter(), "C:\\secondCourse\\OOP\\log.clef").CreateLogger(); ApplicationConfiguration.Initialize(); Application.Run(new FormMapWithSetLocomotives()); } diff --git a/Locomotive/Locomotive/SetLocomotivesGeneric.cs b/Locomotive/Locomotive/SetLocomotivesGeneric.cs index 53f8b6a..2b6612a 100644 --- a/Locomotive/Locomotive/SetLocomotivesGeneric.cs +++ b/Locomotive/Locomotive/SetLocomotivesGeneric.cs @@ -1,4 +1,5 @@ -using System; +using Serilog; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -31,7 +32,10 @@ namespace Locomotive public int Insert(T locomotive, int position) { if (position < 0) return -1; - if (Count >= _maxCount) throw new StorageOverflowException(_maxCount); + if (Count >= _maxCount) { + Log.Warning("StorageOverflowException"); + throw new StorageOverflowException(_maxCount); + } _places.Insert(position, locomotive); return position; @@ -40,7 +44,11 @@ namespace Locomotive public T Remove(int position) { if (position >= _maxCount || position < 0) return null; - if (_places[position] is null) throw new LocomotiveNotFoundException(position); + if (_places[position] is null) + { + Log.Warning($"LocomotiveNotFoundException at {position}"); + throw new LocomotiveNotFoundException(position); + } T result = _places[position]; _places[position] = null; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! РАНЬШЕ REMOVE return result;