私は、自分自身の一般およびエラー ログ ファイルへの自分のログインを封鎖することに成功しました。
NHibernate をミックスに追加しました。これは、NHibernate が生成する SQL ステートメントを記録してデバッグを支援したいからですが、独自のファイルにします。
以下の現在の構成では、NH 出力は、一般ログ ファイル (CommunicationsAppender) とそれ自体のファイル (複製されています) で終了しています。出力を CommunicationsAppender から除外するにはどうすればよいですか?
<log4net>
<appender name="NHibernateAppender" type="log4net.Appender.RollingFileAppender">
<file value="c:\logs\NHibernate.log"/>
<appendToFile value="true"/>
<maximumFileSize value="1000KB"/>
<maxSizeRollBackups value="10"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger %level - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="NHibernate.SQL" />
<acceptOnMatch value="true" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="CommunicationsAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\Communications Service.log"/>
<appendToFile value="true"/>
<maximumFileSize value="10000KB"/>
<maxSizeRollBackups value="10"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="WARN" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="CommunicationsLogger" />
<acceptOnMatch value="true" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="CommunicationsErrorAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\Communications Service Errors.log"/>
<appendToFile value="true"/>
<maximumFileSize value="10000KB"/>
<maxSizeRollBackups value="10"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="CommunicationsLogger" />
<acceptOnMatch value="true" />
</filter>
</appender>
<root>
<!-- Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
<priority value="ALL"/>
<!--<appender-ref ref="LogToFile"/>-->
<appender-ref ref="CommunicationsAppender" />
<appender-ref ref="CommunicationsErrorAppender" />
<appender-ref ref="NHibernateAppender" />
</root>
<logger name="NHibernate.SQL">
<level value="DEBUG"/>
<appender-ref ref="NHibernateAppender"/>
</logger>
<logger name="NHibernate">
<level value="OFF" />
</logger>
</log4net>