Как правильно настроить ведение журнала 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!");
}