diff --git a/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs b/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs index 1a4f561..d668f69 100644 --- a/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs +++ b/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs @@ -1,13 +1,4 @@ -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; +using Serilog; namespace ProjectMachine { @@ -33,7 +24,7 @@ namespace ProjectMachine /// /// Конструктор /// - public FormMapWithSetTank(ILogger logger) + public FormMapWithSetTank(ILogger logger) { InitializeComponent(); _logger = logger; @@ -76,18 +67,18 @@ namespace ProjectMachine if (comboBoxSelectorMap.SelectedIndex == -1 || string.IsNullOrEmpty(textBoxNewMapName.Text)) { MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - _logger.LogInformation("При добавлении карты {0}", comboBoxSelectorMap.SelectedIndex == -1 ? "Карта была не выбрана" : "Карта была не названа"); + _logger.Information("При добавлении карты {0}", comboBoxSelectorMap.SelectedIndex == -1 ? "Карта была не выбрана" : "Карта была не названа"); return; } if (!_mapsDict.ContainsKey(comboBoxSelectorMap.Text)) { MessageBox.Show("Нет такой карты", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - _logger.LogWarning("Нет карты с названием: {0}", textBoxNewMapName.Text); + _logger.Warning("Нет карты с названием: {0}", textBoxNewMapName.Text); return; } _mapsCollection.AddMap(textBoxNewMapName.Text, _mapsDict[comboBoxSelectorMap.Text]); ReloadMaps(); - _logger.LogInformation($"Добавлена карта {textBoxNewMapName.Text}"); + _logger.Information($"Добавлена карта {textBoxNewMapName.Text}"); } /// /// Выбор карты @@ -97,7 +88,7 @@ namespace ProjectMachine private void ComboBoxSelectorMap_SelectedIndexChanged(object sender, EventArgs e) { pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); - _logger.LogInformation("Был осуществлен переход на карту под названием: {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty); + _logger.Information("Был осуществлен переход на карту под названием: {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty); } /// /// Удаление карты @@ -114,7 +105,7 @@ namespace ProjectMachine if (MessageBox.Show($"Удалить карту {listBoxMaps.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { _mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty); - _logger.LogInformation("Была удалена карта под названием: {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty); + _logger.Information("Была удалена карта под названием: {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty); ReloadMaps(); } } @@ -140,19 +131,19 @@ namespace ProjectMachine else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawningObject(tank) != -1) { MessageBox.Show("Объект добавлен"); - _logger.LogInformation("Добавлен объект:", tank); + _logger.Information("Добавлен объект:", tank); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); } else { MessageBox.Show("Не удалось добавить объект"); - _logger.LogInformation("Не удалось добавить объект"); + _logger.Information("Не удалось добавить объект"); } } catch (StorageOverflowException ex) { MessageBox.Show("Не удалось добавить объект"); - _logger.LogWarning("Ошибка переполнения хранилища: {0}", ex.Message); + _logger.Warning("Ошибка переполнения хранилища: {0}", ex.Message); MessageBox.Show($"Ошибка переполнения хранилища: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -182,19 +173,19 @@ namespace ProjectMachine if (deletedTank != null) { MessageBox.Show("Объект удален"); - _logger.LogInformation("Из текущей карты удален объект {@tank}", deletedTank); + _logger.Information("Из текущей карты удален объект {@tank}", deletedTank); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); } else { - _logger.LogInformation("Не удалось удалить объект по позиции {0}", pos); + _logger.Information("Не удалось удалить объект по позиции {0}", pos); MessageBox.Show("Не удалось удалить объект"); } } catch (TankNotFoundException ex) { MessageBox.Show($"Ошибка удаления: {ex.Message}"); - _logger.LogWarning($"Ошибка удаления: {ex.Message}"); + _logger.Warning($"Ошибка удаления: {ex.Message}"); } catch (Exception ex) { @@ -270,13 +261,13 @@ namespace ProjectMachine try { _mapsCollection.SaveData(saveFileDialog.FileName); - _logger.LogInformation("Сохранение прошло успешно. Файл находится: {0}", saveFileDialog.FileName); + _logger.Information("Сохранение прошло успешно. Файл находится: {0}", saveFileDialog.FileName); MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - _logger.LogWarning("Не удалось сохранить файл '{0}'. Текст ошибки: {1}", saveFileDialog.FileName, ex.Message); + _logger.Warning("Не удалось сохранить файл '{0}'. Текст ошибки: {1}", saveFileDialog.FileName, ex.Message); } } } @@ -292,14 +283,14 @@ namespace ProjectMachine try { _mapsCollection.LoadData(openFileDialog.FileName); - _logger.LogInformation("Загрузка файла '{0}' прошла успешно", openFileDialog.FileName); + _logger.Information("Загрузка файла '{0}' прошла успешно", openFileDialog.FileName); MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); ReloadMaps(); } catch(Exception ex) { MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - _logger.LogWarning("Не удалось загрузить файл {0}. Текст ошибки: {1}", openFileDialog.FileName, ex.Message); + _logger.Warning("Не удалось загрузить файл {0}. Текст ошибки: {1}", openFileDialog.FileName, ex.Message); } } } diff --git a/ProjectMachine/ProjectMachine/Program.cs b/ProjectMachine/ProjectMachine/Program.cs index 3ac9d11..acd8a42 100644 --- a/ProjectMachine/ProjectMachine/Program.cs +++ b/ProjectMachine/ProjectMachine/Program.cs @@ -1,6 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using NLog.Extensions.Logging; +using Microsoft.Extensions.Configuration; +using Serilog; namespace ProjectMachine { @@ -12,24 +11,17 @@ namespace ProjectMachine [STAThread] static void Main() { - // To customize application configuration such as set high DPI settings or default font, - // see https://aka.ms/applicationconfiguration. + var configuration = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appconfig.json") + .AddJsonFile($"appconfig.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true) + .Build(); + var Logger = new LoggerConfiguration() + .MinimumLevel.Information() + .ReadFrom.Configuration(configuration) + .CreateLogger(); ApplicationConfiguration.Initialize(); - var services = new ServiceCollection(); - ConfigureServices(services); - using (ServiceProvider serviceProvider = services.BuildServiceProvider()) - { - Application.Run(serviceProvider.GetRequiredService()); - } - } - private static void ConfigureServices(ServiceCollection services) - { - services.AddSingleton() - .AddLogging(option => - { - option.SetMinimumLevel(LogLevel.Information); - option.AddNLog("nlog.config"); - }); + Application.Run(new FormMapWithSetTank(Logger)); } } } \ No newline at end of file diff --git a/ProjectMachine/ProjectMachine/ProjectMachine.csproj b/ProjectMachine/ProjectMachine/ProjectMachine.csproj index 5e3bef9..234bb9b 100644 --- a/ProjectMachine/ProjectMachine/ProjectMachine.csproj +++ b/ProjectMachine/ProjectMachine/ProjectMachine.csproj @@ -9,11 +9,11 @@ - + - + Always @@ -40,4 +40,24 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ProjectMachine/ProjectMachine/appconfig.json b/ProjectMachine/ProjectMachine/appconfig.json new file mode 100644 index 0000000..323ce72 --- /dev/null +++ b/ProjectMachine/ProjectMachine/appconfig.json @@ -0,0 +1,16 @@ +{ + "Serilog": { + "Using": [ "Serilog.Sinks.File" ], + "MinimumLevel": "Information", + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "Logs/log.log", + "rollingInterval": "Day", + "outputTemplate": "[{Timestamp:HH:mm:ss.fff}] {Level}: {Message};{NewLine}" + } + } + ] + } +} \ No newline at end of file diff --git a/ProjectMachine/ProjectMachine/nlog.config b/ProjectMachine/ProjectMachine/nlog.config deleted file mode 100644 index 9cc4d12..0000000 --- a/ProjectMachine/ProjectMachine/nlog.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file