【发布时间】:2020-12-21 13:24:33
【问题描述】:
我目前使用 NLog 并允许管理员用户在运行时使用如下变量设置级别:
<logger name="*" minLevel="${var:myFileLevel}" writeTo="file" />
我想知道这个记录器在运行时的级别(所以我无法从配置文件中获取它,因为变量)
我可以通过以下方式轻松获得目标:
Target target= LogManager.Configuration.FindTargetByName("file");
可惜目标对象上没有相关的方法来获取关卡。是否可以在运行时获取日志级别?
【问题讨论】:
-
为什么不检查
Logger.IsEnabled(logLevel)或特定的Logger.Is*Enabled属性?这使您可以确定为任何给定记录器配置的内容。 -
@Dennis :我试过了,但如果您在不同级别配置了多个目标,它会失败。接受的解决方案正是我所需要的。