在点网核心3.1中将NLog注册为非特定主机的记录器

问题描述 投票:0回答:1

我有非Web通用主机应用程序,根据https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1,我应该在.ConfigureLogging中添加记录器,但

  • ConfigureLogging对我而言与在文档中具有不同的原型,例如ILoggingBuilder没有.ClearProviders()
  • 我无法将.AddNlog()用于DI,如图here所示>>
      .ConfigureLogging(logging =>
      {
          logging.ClearProviders();
          logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
      })
      .UseNLog();  // NLog: Setup NLog for Dependency injection

我认为我的困惑是由于未构建Web应用程序而引起的,而指南则指定为asp.net配置NLog。为什么NLog用于Web应用程序的软件包不同?这是由NLog自动记录Kestrel或其他特定于网络的东西发布的事件引起的吗? UseNLog方法(我假设是由NLog定义的扩展名)与将NLog注册为单例服务之间有什么区别

我有非Web通用主机应用程序,根据https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1,我应该在.ConfigureLogging中添加logger,但.. 。

c# .net .net-core nlog
1个回答
0
投票

AddNLog()ClearProviders()都是扩展方法。您需要添加using namespace和相关的nuget-packages。

© www.soinside.com 2019 - 2024. All rights reserved.