log4netを構成して使用する方法は2つあります。1つ目は、独自のアペンダーと関連するロガーを構成できる場合です。
<!-- language: xml -->
<appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" >
<file value="Logs\myLog.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%n" />
</layout>
</appender>
<logger name="myLog">
<level value="All"></level>
<appender-ref ref="myLogAppender" />
</logger>
そして、ログに何かを書きたいときは、次のことができます。
ILog log = LogManager.GetLogger("myLog");
log.Info("message");
これを使用する別の方法は、rootを必要なだけ詳細に構成することです。
<!-- language: xml -->
<root>
<level value="Error" />
<appender-ref ref="myLogAppender" />
</root>
この場合、次のようなメッセージをログに記録できます。
ILog log = LogManager.GetLogger(typeof(Bar));
log.Info("message");
2番目のアプローチの利点は、一部のメッセージをその場で有効または無効にできることです。しかし、問題は、私がEPiServer CMSで開発していて、log4netを使用する独自のログシステムがあり、ルートレベルで情報ログを有効にすると、多くのシステムログが書き込まれることです。
log4netをどのように使用しますか?システムの各部分が独自のロガーに書き込むか、すべてがデフォルトのロガーに書き込まれ、構成によって次に何をするかが決まりますか?