是否可以确定附加程序是否被禁用(即<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 时间,因为我没有构建所有这些字符串。检查附加程序是否关闭的最佳/最简单方法是什么?
PS我试过了MyAppender.Logger.IsEnabledFor(log4net.Core.Level.Off);
,但是,如果我将日志级别设置为Warn
它总是返回true Off
(基本上,它总是说记录器被禁用),所以这不起作用。