log4net: 特定のクラスからのメッセージを無視するように設定する 質問する

log4net: 特定のクラスからのメッセージを無視するように設定する 質問する

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>

おすすめ記事