ログレベルが異なるいくつかのアペンダーにメッセージを書き込むようにロガーを構成する必要があります。
例のために。RefreshDataService
詳細情報を に記録しTransportFileAppender
、警告とエラーをに記録しますRollingFileAppender
。
また、ロギングのパフォーマンスを向上させるためにバッファリングを使用しています。FilteredFileLog
警告を FileLog->RollingFileAppender に転送するようにアペンダーをセットアップしました。
ただし、RefreshDataService ロガーの場合、debug および Info を含むすべてのログ メッセージが FileLog に記録されます。
RefreshDataService
Warn+ メッセージのみを FileLog に記録するようにロガーを構成する方法を教えてください。ありがとう。
以下は、私のlog4net構成からの抜粋です。
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="${TEMP}\logs\client\${ENV}\client.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="4096KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level [%property{ENV}] [%property{UID}] %logger - %message%newline" />
</layout>
</appender>
<appender name="TransportAppender" type="log4net.Appender.RollingFileAppender">
<file value="${TEMP}\logs\client\${ENV}\client.comm.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="4096KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="DetailedTransportLog" type="log4net.Appender.BufferingForwardingAppender">
<threshold value="DEBUG" />
<bufferSize value="200" />
<appender-ref ref="TransportAppender" />
</appender>
<appender name="FileLog" type="log4net.Appender.BufferingForwardingAppender">
<bufferSize value="20" />
<lossy value="false" />
<appender-ref ref="RollingFileAppender" />
</appender>
<appender name="FilteredFileLog" type="log4net.Appender.ForwardingAppender">
<threshold value="WARN" />
<appender-ref ref="FileLog" />
</appender>
<logger name="RefreshDataService" >
<level value="DEBUG" />
<appender-ref ref="FilteredFileLog" />
<appender-ref ref="DetailedTransportLog" />
</logger>