【发布时间】:2012-09-06 18:24:39
【问题描述】:
是否可以确定附加程序是否被禁用(即<level value="Off">)?
我想要一个全局标志来确定我的附加程序是否已启用:
public static bool isAppenderEnabled = /*...*/;
如果启用了附加程序,那么我会记录一些东西:
if(isAppenderEnabled)
{
MyAppender.Warn("****************************************");
MyAppender.Warn("Warning title!");
MyAppender.Warn(String.Format("Some warning message! A:{0}, B:{1}, C:{2}, D:{3}", 0, 1, 2, 3));
MyAppender.Warn("****************************************");
}
拥有isAppenderEnabled 标志很重要,因为由于我没有构建所有这些字符串,因此当禁用附加程序时我会节省大量 CPU 时间。检查附加程序是否关闭的最佳/最简单方法是什么?
附:
我试过MyAppender.Logger.IsEnabledFor(log4net.Core.Level.Off);,但是,如果我将日志级别设置为Warn,它总是为Off返回true(基本上,它总是说记录器被禁用),所以这不起作用。
【问题讨论】:
-
[可能对您有用,因为这是您的类似问题的检查答案][1] [1]:stackoverflow.com/a/10126517/1003016