我有非Web通用主机应用程序,根据https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1,我应该在.ConfigureLogging中添加记录器,但
.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,但.. 。
AddNLog()
和ClearProviders()
都是扩展方法。您需要添加using namespace和相关的nuget-packages。