Как правильно настроить Nlog для входа в ядро ​​приложения .net? - PullRequest
0 голосов
/ 15 мая 2019

Как правильно настроить ведение журнала NLog для основного консольного приложения .net? Я вижу, что в есть упоминание о проводке и вводе NLog в консольное приложение .Net Core использования Microsoft.Extensions.Logging.ILogger как-то, но не в качестве примера, и у меня та же проблема получения нуля. Я попробовал другие примеры в публикации, но это то же самое, нулевой объект.

В качестве обновления я заставил работать нижеследующее, добавив операторы для NLog.Config, а затем используя LogManager.GetCurrentClassLogger. Я видел это в другой публикации, но я не уверен, почему это работает или это правильно. Итак, я все еще надеюсь, что кто-то сможет рассказать мне о правильном способе установки NLog в ядре .net или, если это правильный путь, пожалуйста, дайте мне знать.

Спасибо


using Microsoft.Extensions.Logging;
using NLog;
using NLog.Config;
using NLog.Extensions.Logging;

static void Main(string[] args)
    {
        var logger = LogManager.GetCurrentClassLogger();

        //service collection are were we register our services
        var serviceCollection = new ServiceCollection();
        ConfigureServices(serviceCollection);

        serviceCollection.AddLogging();

        //service provider is where we get our services
        serviceProvider = serviceCollection.BuildServiceProvider();

        //logging (ILoggerFactory requires Microsoft.Extensions.Logging dependency and adding a using statement)
        var loggerFactory = serviceProvider.GetService<ILoggerFactory>();

        //NLog.LogManager.LoadConfiguration("NLog.config");

        //AddNLog required adding dependency NLog.Extensions.Logging and then adding a using statement
        loggerFactory.AddNLog().ConfigureNLog("NLog.config");

        logger.Debug("I successfully logged a debug via NLog!");

    }
...