logging - nlog .netcore 关闭 microsoft INFO 级别的日志记录
问题描述
如何关闭 nlog / .netcore 中的 Microsoft 信息级别日志记录?
我仍然想要我的其他记录器的信息记录
我目前有:
<rules>
<logger name="Microsoft.*" minlevel="Error" writeTo="nxlog_json" />
<logger name="Microsoft.*" minlevel="Error" writeTo="human_text_file" />
<logger name="*" minlevel="Info" writeTo="nxlog_json" />
<logger name="*" minlevel="Info" writeTo="human_text_file" />
</rules>
这不起作用,如果我删除:
<logger name="*" minlevel="Info" writeTo="nxlog_json" />
<logger name="*" minlevel="Info" writeTo="human_text_file" />
它确实适用于 microsoft logging ,但随后会删除其他记录器的所有日志记录。
我错过了什么?我假设记录器名称 =“ ”覆盖 Microsoft 的第一个条目。,但我不想明确指定我的其他记录器名称。
解决方案
如果应用了当前过滤器,则使用final=true
它停止其他过滤器处理。并写"blackHole"
目标吞下消息:
<targets>
<target xsi:type="Null" name="blackHole" />
</targets>
<rules>
<logger name="Microsoft.*" minlevel="Info" writeTo="blackHole" final="true" />
<logger name="*" minlevel="Info" writeTo="nxlog_json" />
<logger name="*" minlevel="Info" writeTo="human_text_file" />
</rules>
NLog 4.5 允许指定一个空的 writeTo=""
<rules>
<logger name="Microsoft.*" minlevel="Info" writeTo="" final="true" />
<logger name="*" minlevel="Info" writeTo="nxlog_json" />
<logger name="*" minlevel="Info" writeTo="human_text_file" />
</rules>
官方维基:https ://github.com/NLog/NLog/wiki/Filtering-log-messages#routing
推荐阅读
- python - Lambda 函数中嵌入的 for 循环中的语法错误
- java - SQLite 数据库返回 1970-01-01
- python - 我的 Tron-Like 游戏让海龟随机停止
- azure - 使用 DSC 部署 Azure VM - 将参数传递给配置
- python - 无法找到带有 selenium python 的按钮
- scala - S3ObjectSummmary 无法调用函数
- javascript - 将 HTML 存储在一个变量中,以便以后在 Next JS 中使用
- kotlin - 如何避免使用与类型和参数相同的类
- python - 使用 Python 自动化简单的 Photoshop
- python-3.x - 需要帮助扩展逻辑功能