Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
public static IHostBuilder ConfigureSerilog(this IHostBuilder builder){ builder .ConfigureLogging((context, logging) => { logging.ClearProviders(); }) .UseSerilog((hostingContext, loggerConfiguration) => { var config = hostingContext.Configuration; var connectionString = config.GetConnectionString("AutoLot").ToString(); var tableName = config["Logging:MSSqlServer:tableName"].ToString(); var schema = config["Logging:MSSqlServer:schema"].ToString(); string restrictedToMinimumLevel = config["Logging:MSSqlServer:restrictedToMinimumLevel"].ToString(); if (!Enum.TryParse<LogEventLevel>(restrictedToMinimumLevel, out var logLevel)) { logLevel = LogEventLevel.Debug; } LogEventLevel level = (LogEventLevel)Enum.Parse(typeof(LogEventLevel), restrictedToMinimumLevel); var sqlOptions = new MSSqlServerSinkOptions { AutoCreateSqlTable = false, SchemaName = schema, TableName = tableName, }; if (hostingContext.HostingEnvironment.IsDevelopment()) { sqlOptions.BatchPeriod = new TimeSpan(0, 0, 0, 1); sqlOptions.BatchPostingLimit = 1; } loggerConfiguration .Enrich.FromLogContext() .Enrich.WithMachineName() .WriteTo.File( path: "ErrorLog.txt", rollingInterval: RollingInterval.Day, restrictedToMinimumLevel: logLevel, outputTemplate: OutputTemplate) .WriteTo.Console(restrictedToMinimumLevel: logLevel) .WriteTo.MSSqlServer( connectionString: connectionString, sqlOptions, restrictedToMinimumLevel: level, columnOptions: ColumnOptions); }); return builder;}Теперь, когда все готово, пора заменить стандартное средство ведения журнала на Serilog.
Обновление настроек приложения
Раздел
Loggingappsettings.jsonappsettings.development.jsonappsettings.productionAutoLot.ApiAutoLot.DalОткройте файлы
appsettings.jsonApplicationName// appsettings.json{ "Logging": {<b> "MSSqlServer": {</b><b> "schema": "Logging",</b><b> "tableName": "SeriLogs",</b><b> "restrictedToMinimumLevel": "Warning"</b><b> }</b> },<b> "ApplicationName": "AutoLot.Api",</b> "AllowedHosts": "*"}// appsettings.development.json{ "Logging": {<b> "MSSqlServer": {</b><b> "schema": "Logging",</b><b> "tableName": "SeriLogs",</b><b> "restrictedToMinimumLevel": "Warning"</b><b> }</b> }, "RebuildDataBase": false,<b> "ApplicationName": "AutoLot.Api - Dev",</b> "ConnectionStrings": { "AutoLot": "Server=.,5433;Database=AutoLot;User ID=sa;Password=P@ssw0rd;" }}// appsettings.production.json{ "Logging": {<b> "MSSqlServer": {</b>