логгер

This commit is contained in:
Мельников Игорь 2022-11-24 01:25:29 +04:00
parent 8ed442d581
commit 9186126412
4 changed files with 35 additions and 6 deletions

View File

@ -1,4 +1,5 @@
namespace Locomotives using Serilog;
namespace Locomotives
{ {
/// <summary> /// <summary>
/// Форма для работы с набором объектов /// Форма для работы с набором объектов
@ -18,12 +19,14 @@
/// Объект от коллекции карт /// Объект от коллекции карт
/// </summary> /// </summary>
private readonly MapsCollection _mapsCollection; private readonly MapsCollection _mapsCollection;
private readonly ILogger _logger;
/// <summary> /// <summary>
/// Конструктор /// Конструктор
/// </summary> /// </summary>
public FormMapWithSetLocomotives() public FormMapWithSetLocomotives(ILogger logger)
{ {
InitializeComponent(); InitializeComponent();
_logger = logger;
_mapsCollection = new MapsCollection(pictureBoxLocomotives.Width, pictureBoxLocomotives.Height); _mapsCollection = new MapsCollection(pictureBoxLocomotives.Width, pictureBoxLocomotives.Height);
comboBoxSelectorMap.Items.Clear(); comboBoxSelectorMap.Items.Clear();
foreach (var elem in _mapsDict) foreach (var elem in _mapsDict)
@ -72,8 +75,9 @@
return; return;
} }
_mapsCollection.AddMap(textBoxNewMapName.Text, _mapsDict[comboBoxSelectorMap.Text]); _mapsCollection.AddMap(textBoxNewMapName.Text, _mapsDict[comboBoxSelectorMap.Text]);
textBoxNewMapName.Text = "";
ReloadMaps(); ReloadMaps();
_logger.Information($"Создана карта типа {comboBoxSelectorMap.Text} с названием {textBoxNewMapName.Text}");
textBoxNewMapName.Text = "";
} }
/// <summary> /// <summary>
/// Выбор карты /// Выбор карты
@ -83,6 +87,7 @@
private void ListBoxMaps_SelectedIndexChanged(object sender, EventArgs e) private void ListBoxMaps_SelectedIndexChanged(object sender, EventArgs e)
{ {
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
_logger.Information($"Выбрана карта с названием {listBoxMaps.SelectedItem}");
} }
/// <summary> /// <summary>
/// Удаление карты /// Удаление карты
@ -99,6 +104,7 @@
{ {
_mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty); _mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty);
ReloadMaps(); ReloadMaps();
_logger.Information($"Удалена карта с названием {listBoxMaps.SelectedItem}");
} }
MessageBox.Show("Карта удалена"); MessageBox.Show("Карта удалена");
} }
@ -122,6 +128,7 @@
{ {
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
_logger.Information($"Добавлен новый объект на карту {listBoxMaps.SelectedItem}");
} }
else else
{ {
@ -131,10 +138,12 @@
catch (StorageOverflowException ex) catch (StorageOverflowException ex)
{ {
MessageBox.Show($"Ошибка добавления: {ex.Message}"); MessageBox.Show($"Ошибка добавления: {ex.Message}");
_logger.Warning($"Не удалось добавить объект: {ex.Message}");
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show($"Неизвестная ошибка: {ex.Message}"); MessageBox.Show($"Неизвестная ошибка: {ex.Message}");
_logger.Warning($"Не удалось добавить объект: {ex.Message}");
} }
} }
/// <summary> /// <summary>
@ -163,6 +172,7 @@
{ {
MessageBox.Show("Объект удален"); MessageBox.Show("Объект удален");
pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
_logger.Information($"Удалён объект с карты {listBoxMaps.SelectedItem}");
} }
else else
{ {
@ -172,10 +182,12 @@
catch (LocomotiveNotFoundException ex) catch (LocomotiveNotFoundException ex)
{ {
MessageBox.Show($"Ошибка удаления: {ex.Message}"); MessageBox.Show($"Ошибка удаления: {ex.Message}");
_logger.Warning($"Не удалось удалить объект: {ex.Message}");
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show($"Неизвестная ошибка: {ex.Message}"); MessageBox.Show($"Неизвестная ошибка: {ex.Message}");
_logger.Warning($"Не удалось удалить объект: {ex.Message}");
} }
} }
/// <summary> /// <summary>
@ -249,11 +261,13 @@
_mapsCollection.SaveData(saveFileDialog.FileName); _mapsCollection.SaveData(saveFileDialog.FileName);
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBox.Show("Сохранение прошло успешно", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
_logger.Information($"Коллекция карт сохранена в файл по адресу {saveFileDialog.FileName}");
} }
catch(Exception ex) catch(Exception ex)
{ {
MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
_logger.Warning($"Ошибка сохранения файла по адресу {saveFileDialog.FileName}: {ex.Message}");
} }
} }
} }
@ -272,11 +286,13 @@
MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBox.Show("Загрузка прошла успешно", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
ReloadMaps(); ReloadMaps();
_logger.Information($"Коллекция карт загружена из файла по адресу {openFileDialog.FileName}");
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show($"Не удалось загрузить файл: {ex.Message}", "Результат", MessageBox.Show($"Не удалось загрузить файл: {ex.Message}", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
_logger.Warning($"Ошибка загрузки файла по адресу {openFileDialog.FileName}: {ex.Message}");
} }
} }
} }

View File

@ -27,4 +27,11 @@
<Folder Include="Resources\" /> <Folder Include="Resources\" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="Serilog" Version="2.12.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
<PackageReference Include="Serilog.Settings.AppSettings" Version="2.2.2" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
</ItemGroup>
</Project> </Project>

View File

@ -91,7 +91,7 @@ namespace Locomotives
{ {
if (!File.Exists(filename)) if (!File.Exists(filename))
{ {
throw new Exception("Файл не найдён"); throw new FileNotFoundException("Файл не найдён");
} }
using (StreamReader sr = new(filename)) using (StreamReader sr = new(filename))
{ {
@ -99,7 +99,7 @@ namespace Locomotives
if (firstStr == null || !firstStr.Contains("MapsCollection")) if (firstStr == null || !firstStr.Contains("MapsCollection"))
{ {
//если нет такой записи, то это не те данные //если нет такой записи, то это не те данные
throw new Exception("Формат данных в файле неправильный"); throw new FileFormatException("Формат данных в файле неправильный");
} }
string? currentString; string? currentString;
while ((currentString = sr.ReadLine()) != null) while ((currentString = sr.ReadLine()) != null)

View File

@ -1,3 +1,5 @@
using Serilog;
namespace Locomotives namespace Locomotives
{ {
internal static class Program internal static class Program
@ -8,8 +10,12 @@ namespace Locomotives
[STAThread] [STAThread]
static void Main() static void Main()
{ {
var Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.File(path: "log.txt", outputTemplate: "[{Timestamp:HH:mm:ss.fff}] {Level}: {Message};{NewLine}")
.CreateLogger();
ApplicationConfiguration.Initialize(); ApplicationConfiguration.Initialize();
Application.Run(new FormMapWithSetLocomotives()); Application.Run(new FormMapWithSetLocomotives(Logger));
} }
} }
} }