[英]Changing loglevel in appsettings.json won't get applied to NLog
我將 NLog 與 dotnet 核心應用程序一起使用,配置如下所述。 https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2
在 nlog.config 中,如果我將 minLevel 設置為 Error 並啟動我的應用程序,我可以在記錄器上看到 logDebug 被禁用。
如果我恢復回跟蹤,則所有級別都設置為 true (error, trace, debug, info, warning)
如果我把它放到配置文件(appsettings.json)中
"Logging": {
"LogLevel": {
"Default": "Error",
"Microsoft": "Information"
}
}
正如 Snakefoot 所說,
這是 Microsoft Extension Logging 的配置。
當使用 NLog + Injected .NET Core loggers(使用 Microsoft Extension Logging)時,流程如下:
ILogger<MyClass>
→ LoggerFactory
在微軟擴展日志→ LogFactory
在NLOG。
要配置 NLog,您應該更新 nlog.config 中的 NLog <rules>
,例如
(也可能來自代碼,請參閱文檔)
<rules>
<logger name="*" minlevel="debug" />
</rules>
請注意,如果最小級別在 NLog 中為“調試”並且在 appsettings.json 中為“錯誤”,則您將不會看到調試日志
注意 2:當直接使用 NLog 時,例如NLog.LogManager.GetCurrentClassLogger()
,您只需要配置 NLog 並且 appsettings.json 配置不用於這些日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.