在我的一個項目中,我使用命名空間來控制日誌記錄。下面是示例配置:
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net" >
<param name="File" value="c:\\tmp\\remoteServerLog.txt" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="3MB" />
<param name="AppendToFile" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d %-5p %c - %m%n" />
</layout>
</appender>
<root>
<priority value="ALL" />
</root>
<logger name="NHibernate.SQL">
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
</logger>
<logger name="NHibernate.Cfg">
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
</logger>
<logger name="NHibernate">
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
</logger>
<logger name="MyNameSpace.MyBusinessCore">
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</logger>
根據源類的命名空間,可以調整日誌記錄級別。因此,在上面的示例中,我只記錄NHibernate的警告以及MyNameSpace.MyBusinessCore(包括DEBUG和TRACE)中的所有內容。
綜上所述,在你的例子我只想補充以下內容:
<root>
<priority value="INFO" />
</root>
<logger name="Your.Namespace ">
<level value="INFO" />
<appender-ref ref="EmailAppender" />
</logger>
比Your.Namespace也將發送INFO級別的日誌。
爲什麼不只是將閾值更改爲INFO? – 2010-02-26 23:29:34
還有其他INFO消息我不想發送電子郵件 – DotnetDude 2010-02-26 23:43:48