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