diff --git a/AccordionBus/AccordionBus/AccordionBus.csproj b/AccordionBus/AccordionBus/AccordionBus.csproj index a3ed84a..cf54e46 100644 --- a/AccordionBus/AccordionBus/AccordionBus.csproj +++ b/AccordionBus/AccordionBus/AccordionBus.csproj @@ -9,14 +9,28 @@ + + + + + + Always + + + + + + + + diff --git a/AccordionBus/AccordionBus/BusNotFoundException.cs b/AccordionBus/AccordionBus/BusNotFoundException.cs index d7f4ffd..01d6288 100644 --- a/AccordionBus/AccordionBus/BusNotFoundException.cs +++ b/AccordionBus/AccordionBus/BusNotFoundException.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; namespace AccordionBus { + [Serializable] internal class BusNotFoundException : ApplicationException { public BusNotFoundException(int i) : base($"Не найден объект по позиции {i}") { } diff --git a/AccordionBus/AccordionBus/Program.cs b/AccordionBus/AccordionBus/Program.cs index 8189b80..dc94627 100644 --- a/AccordionBus/AccordionBus/Program.cs +++ b/AccordionBus/AccordionBus/Program.cs @@ -1,3 +1,4 @@ +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; @@ -27,7 +28,8 @@ namespace AccordionBus services.AddSingleton() .AddLogging(option => { - var logger = new LoggerConfiguration().WriteTo.File("Logs/Log.txt").CreateLogger(); + var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true).Build(); + var logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger(); option.SetMinimumLevel(LogLevel.Information); option.AddSerilog(logger); }); diff --git a/AccordionBus/AccordionBus/StorageOverflowException.cs b/AccordionBus/AccordionBus/StorageOverflowException.cs index 59e5a52..46c7bea 100644 --- a/AccordionBus/AccordionBus/StorageOverflowException.cs +++ b/AccordionBus/AccordionBus/StorageOverflowException.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; namespace AccordionBus { + [Serializable] internal class StorageOverflowException : ApplicationException { public StorageOverflowException(int count) : base($"В наборе превышено допустимое количество: {count}") { } diff --git a/AccordionBus/AccordionBus/appsettings.json b/AccordionBus/AccordionBus/appsettings.json new file mode 100644 index 0000000..66b2ffb --- /dev/null +++ b/AccordionBus/AccordionBus/appsettings.json @@ -0,0 +1,20 @@ +{ + "Serilog": { + "Using": [ "Serilog.Sinks.File" ], + "MinimumLevel": "Information", + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "Logs/log_.log", + "rollingInterval": "Day", + "outputTemplate": "[{Timestamp:HH:mm:ss.fff}]{Level:u4}: {Message:lj}{NewLine}{Exception}" + } + } + ], + "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], + "Properties": { + "Application": "AccordionBus" + } + } +} \ No newline at end of file