Можно ли определить, отключен ли аппендер (т.е. <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
, потому что я бы сэкономил много процессорного времени, когда добавление отключено из-за того, что я не строю все эти строки. Какой лучший/самый простой способ проверить, отключен ли аппендер?
P.S. Я пробовал MyAppender.Logger.IsEnabledFor(log4net.Core.Level.Off);
, однако, если я устанавливаю уровень журнала на Warn
, он всегда возвращает true для Off
(в основном, он всегда говорит, что регистратор отключен), так что это не работает.