log4net 構成で特定のクラスを無視する方法はありますか? たとえば、通常はすべてのクラスにログを作成します。次のようになります。
private static readonly ILog Log = log4net.LogManager.GetLogger("MyClass");
問題は、MyClass
膨大な量のデータがログに記録され、他のクラスに関する情報を見つけるのが難しくなることです。これは別の開発者が使用しているMyClass
ため、ログ ファイルにアクセスして変更することはできませんが、私の環境ではこれらを無視したいと思います。
configuration
特定のクラスからのメッセージを無視するようにファイルを設定できますか?
ベストアンサー1
はい、フィルター。
以下は、今後の参考のためにブログに投稿された抜粋です。著作権はすべてブログ投稿者のものです。
<filter type="log4net.Filter.LoggerMatchFilter">
<!-- allows this sub-namespace to be logged... -->
<loggerToMatch value="Noisy.Namespace.But.Important" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
<!-- ...but not the rest of it -->
<loggerToMatch value="Noisy.Namespace" />
<acceptOnMatch value="false" />
</filter>