/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Host.PostgreSQL/Configuring/LoggingConfiguration.cs
62 строки
2 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using NLog; using NLog.Web; namespace Gridient.Configuring { public static class LoggingConfiguration { /// <summary> /// Инициализирует NLog и возвращает логгер для использования до создания WebApplicationBuilder. /// </summary> public static Logger InitializeNLog() { var logger = LogManager.Setup() .LoadConfigurationFromAppSettings() .GetCurrentClassLogger(); logger.Debug("Gridient init"); return logger; } /// <summary> /// Создает фабрику логгеров для логирования SQL-запросов Entity Framework (только в DEBUG). /// </summary> public static ILoggerFactory CreateDbLoggerFactory() { return LoggerFactory.Create(builder => { builder.AddFilter((category, level) => (category == DbLoggerCategory.Database.Transaction.Name | category == DbLoggerCategory.Database.Command.Name) && level == Microsoft.Extensions.Logging.LogLevel.Debug) .AddDebug(); }); } /// <summary> /// Настраивает логирование для WebApplicationBuilder. /// </summary> public static void ConfigureLogging(this ILoggingBuilder loggingBuilder) { loggingBuilder.ClearProviders(); loggingBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); } /// <summary> /// Настраивает NLog для Host. /// </summary> public static void UseGridientNLog(this IHostBuilder hostBuilder) { hostBuilder.UseNLog(); } /// <summary> /// Корректно завершает работу NLog. /// </summary> public static void ShutdownNLog() { LogManager.Shutdown(); } } }