我有一个 ASP.NET Core 2.2 应用程序。我想在这个应用程序中使用 NLog。虽然我已经成功集成了 NLog,但写入的日志太多。具体来说,我看到大量来自 的消息Microsoft.AspNetCore.。我真的只想显示来自我的代码的消息。
我复制了此处显示的 nlog.config 文件。但是,我仍然看到大量Microsoft.AspNetCore 消息。如何防止这些消息写入日志?我缺少什么?
您无法阻止它们,但可以将其过滤到低于特定日志级别的情况。例如,您可以将类似以下内容添加到 appsettings.json:
"Logging": {
"LogLevel": {
"Microsoft.AspNetCore": "Critical"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,这将仅记录以 . 开头的任何命名空间的关键消息Microsoft.AspNetCore。任何较低的日志级别都将被有效忽略。
但是,我不建议实际这样做,或者至少不建议走得这么极端。如果您想要排除某条特定消息,请准确定位该命名空间,然后将最低日志级别设置为更合理的级别,例如Warning. 大多数日志喋喋不休都是Informational水平的,因此这将被排除,但是,如果确实出现问题,您仍然会收到警告和更高级别的警告。
有关过滤的更多信息,请参阅文档。
如果您使用wiki 页面中的 NLog.config :
<logger name="Microsoft.*" maxlevel="Info" final="true" /> <!-- Blackhole -->
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
Run Code Online (Sandbox Code Playgroud)
然后你可以将其更改为这样(将 maxLevel 更改为 Error)
<logger name="Microsoft.*" maxlevel="Error" final="true" /> <!-- Blackhole -->
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
Run Code Online (Sandbox Code Playgroud)
您将在目标输出中找到您的输出ownFile-web
另请参阅: https: //github.com/nlog/nlog/wiki/Configuration-file#rules
| 归档时间: |
|
| 查看次数: |
5070 次 |
| 最近记录: |