是否可以确定appender是否被禁用(即<level value="Off">
)?如何检查appender是否被禁用/启用
我想有决定如果我的附加目的地启用全局标志:
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
标志,因为当appender被禁用时,由于我没有构造所有这些字符串,因此我将节省大量的CPU时间。检查appender是否关闭的最佳/最简单的方法是什么?
P.S. 我试过MyAppender.Logger.IsEnabledFor(log4net.Core.Level.Off);
,但是,如果我将日志级别设置为Warn
,它总是为Off
返回true(基本上,它总是说记录器被禁用),所以这是行不通的。
[可其对你有用的,因为这是你检查的simmilar问题的答案] [1] [1]:http://stackoverflow.com/a/10126517/1003016 –