log4netの拡張メソッドをいくつか書き込もうとしていますが、1つの要件は、ユーザーが拡張機能にメッセージをログオンさせるレベルを指定できることです。
ここで、log4netロガーでそのレベルが有効になっているかどうかを確認できるようにしたいと思います。
確認できることはわかっています
ILog log = LogManager.GetLogger(....);
if(log.IsDebugEnabled)
{
// log something
}
しかし、変数が与えられたlog4net.Core.Level
場合、そのレベルが有効になっているかどうかを確認する方法はありますか?
だから私は次のようなものがあるかもしれないと思っています:
ILog log = LogManager.GetLogger(....);
log4net.Core.Level myLevel = Level.Warn;
if(log.IsLevelEnabled(myLevel))
{
// log something
log.Log(myLevel, message);
}
これを行う方法はありますか?
解決策: peer
言及-コメントの1つに隠されています-これを行う方法:
ただし、ロガーの実装を取得することはできます。
log.Logger.IsEnabledFor()...
またlog.Logger.Log(...)
、このLog
関数を直接使用することを目的としたものではありません。
だから今私は簡単に使うことができます:
if(log.Logger.IsEnabledFor(myLevel))
{
// log something
}