Читаем Язык программирования C#9 и платформа .NET5 полностью

    .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(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.

<p id="AutBody_Root1401"><strong>Обновление настроек приложения</strong></p>

Раздел Logging во всех файлах настроек приложения (appsettings.json, appsettings.development.json и appsettings.production) для проектов AutoLot.Api и AutoLot.Dal потребуется модифицировать с учетом новой информации о ведении журнала и добавить имя приложения.

Откройте файлы appsettings.json и обновите размертку JSON, как показано ниже; удостоверьтесь в том, что применяете корректное имя проекта в узле ApplicationName и указываете строку подключения, соответствующую вашей системе:

// appsettings.json

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "ApplicationName": "AutoLot.Api",

  "AllowedHosts": "*"

}

// appsettings.development.json

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "RebuildDataBase": false,

  "ApplicationName": "AutoLot.Api - Dev",

  "ConnectionStrings": {

    "AutoLot": "Server=.,5433;Database=AutoLot;User ID=sa;Password=P@ssw0rd;"

  }

}

// appsettings.production.json

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "RebuildDataBase": false,

  "ApplicationName": "AutoLot.Api - Prod",

  "ConnectionStrings": {

    "AutoLot": "It's a secret"

  }

}

<p id="AutBody_Root1402"><strong>Обновление Program.cs</strong></p>

Добавьте в файлы Program.cs в проектах AutoLot.Api и AutoLot.Mvc следующий оператор using:

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT