Как внедрить NLog в DI в приложении веб-API ASP.NET Core 6C#

Место общения программистов C#
Ответить
Anonymous
 Как внедрить NLog в DI в приложении веб-API ASP.NET Core 6

Сообщение Anonymous »


У меня несколько проектов, и я хочу добавить NLog во все свои проекты, поэтому я создал один общий проект и хочу использовать его как пакет nuget в других проектах.

Я настраиваю NLog программно. Я хочу внедрить свой класс пакета в пул зависимостей как Singleton.

Вот мой общий класс пакета:

публичный класс CustomConfiguration { public LoggingConfiguration ConfigurationLogger (bool fileLogging = false) { вар конфигурации = новый LoggingConfiguration (); если (включитьFileLogging) { вар fileTarget = новый FileTarget("fileTarget"); fileTarget.FileName = "logs/log.txt"; fileTarget.Layout = "${longdate} ${level:uppercase=true} - ${message}"; config.AddTarget("файл", fileTarget); config.AddRule(LogLevel.Debug, LogLevel.Fatal, fileTarget); } вернуть конфигурацию; } } В моем файле program.cs я делаю, как показано ниже, но он не работает:

var builder = WebApplication.CreateBuilder(args); var logger = NLog.LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger(); builder.Logging.Services.AddSingleton(); builder.Logging.ClearProviders(); builder.Host.UseNLog(); logger.Info("Инициализация службы"); Это не выбор параметра, который я определил в CustomConfiguration.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»