アペンダーが無効になっているかどうかを判断することは可能ですか (つまり<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
(基本的に、ロガーが無効になっていることが常に示されます)、機能しません。