diff --git a/AirBomber/AirBomber.csproj b/AirBomber/AirBomber.csproj index 24f6cce..a0be12e 100644 --- a/AirBomber/AirBomber.csproj +++ b/AirBomber/AirBomber.csproj @@ -27,4 +27,15 @@ + + + + + + + + Always + + + \ No newline at end of file diff --git a/AirBomber/FormEntityCollection.cs b/AirBomber/FormEntityCollection.cs index 8fbc58a..4b94e50 100644 --- a/AirBomber/FormEntityCollection.cs +++ b/AirBomber/FormEntityCollection.cs @@ -1,6 +1,7 @@ using AirBomber.Exceptions; using AirBomber.Generics; using AirBomber.Rendering; +using Microsoft.Extensions.Logging; namespace AirBomber { @@ -8,11 +9,14 @@ namespace AirBomber { private readonly EntitiesGenericStorage _storage; - public FormEntityCollection() + private readonly ILogger _logger; + + public FormEntityCollection(ILogger Logger) { InitializeComponent(); _storage = new EntitiesGenericStorage(CollectionPictureBox.Width, CollectionPictureBox.Height); + _logger = Logger; } private void ReloadObjects() @@ -112,6 +116,8 @@ namespace AirBomber _storage.AddSet(SetNameTextBox.Text); ReloadObjects(); + + _logger.LogInformation($"Добавлен набор: {SetNameTextBox.Text}"); } private void ButtonRemoveSet_Click(object sender, EventArgs e) @@ -119,15 +125,19 @@ namespace AirBomber if (StorageListBox.SelectedIndex == -1) return; + string SetName = StorageListBox.SelectedItem.ToString() ?? string.Empty; + if (MessageBox.Show( - $"Удалить объект{StorageListBox.SelectedItem}?", + $"Удалить объект{SetName}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question ) == DialogResult.Yes) { - _storage.RemoveSet(StorageListBox.SelectedItem.ToString() ?? string.Empty); + _storage.RemoveSet(SetName); ReloadObjects(); + + _logger.LogInformation($"Удален набор: {SetName}"); } } diff --git a/AirBomber/Program.cs b/AirBomber/Program.cs index 7c6cc77..3c8cda9 100644 --- a/AirBomber/Program.cs +++ b/AirBomber/Program.cs @@ -1,3 +1,8 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using NLog.Extensions.Logging; +using System; + namespace AirBomber { internal static class Program @@ -6,7 +11,25 @@ namespace AirBomber static void Main() { ApplicationConfiguration.Initialize(); - Application.Run(new FormEntityCollection()); + + var services = new ServiceCollection(); + ConfigureServices(services); + + using (ServiceProvider ServiceProvider = services.BuildServiceProvider()) + { + Application.Run(ServiceProvider.GetRequiredService()); + } + } + + private static void ConfigureServices(IServiceCollection services) + { + services.AddSingleton().AddLogging( + option => + { + option.SetMinimumLevel(LogLevel.Information); + option.AddNLog("nlog.config"); + } + ); } } } \ No newline at end of file diff --git a/AirBomber/nlog.config b/AirBomber/nlog.config new file mode 100644 index 0000000..2808234 --- /dev/null +++ b/AirBomber/nlog.config @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file