log4net 配置與應用
log4net是apache組織開發的日志組件,?同其姐妹log4j一樣, 是一個開源項目.?可以以插件的形式應用在你的系統中. 下面僅說明如何應用在web forms項目中. 做為主要的日志輸出組件.1. 首先你應該下載log4net.dll并引入到你的項目References中.
2. 需要修改你的global.asa.cs. 配置application對象啟動的時候加載log4net配置. 這一步是不可以缺少的.
protected?void?Application_Start(Object?sender,?EventArgs?e)
{
?? log4net.Config.DOMConfigurator.Configure();
}
{
?? log4net.Config.DOMConfigurator.Configure();
}
在web.cofig根節點?configuration 中加入如下section:
<configSections>
??<section?name="log4net"?type="log4net.Config.Log4NetConfigurationSectionHandler,?log4net"?/>
</configSections>
??<section?name="log4net"?type="log4net.Config.Log4NetConfigurationSectionHandler,?log4net"?/>
</configSections>
<log4net?debug="false">
????<appender?name="LogFileAppender"?type="log4net.Appender.FileAppender"?>
????????<param?name="File"?value="XxxxApplication.log.txt"?/>
????????<param?name="datePattern"?value="MM-dd?HH:mm"?/>
????????<param?name="AppendToFile"?value="true"?/>
????????<layout?type="log4net.Layout.PatternLayout">
????????????<param?name="ConversionPattern"?value="%d?[%t]?%-5p?%c?[%x]?-?%m%n"?/>
????????</layout>
????</appender>
????<appender?name="HttpTraceAppender"?type="log4net.Appender.ASPNetTraceAppender"?>
????????<layout?type="log4net.Layout.PatternLayout">
????????????<param?name="ConversionPattern"?value="%d?[%t]?%-5p?%c?[%x]?-?%m%n"?/>
????????</layout>
????</appender>
????<appender?name="EventLogAppender"?type="log4net.Appender.EventLogAppender"?>
????????<layout?type="log4net.Layout.PatternLayout">
????????????<param?name="ConversionPattern"?value="%d?[%t]?%-5p?%c?[%x]?-?%m%n"?/>
????????</layout>
????</appender>
????<appender?name="RollingLogFileAppender"?type="log4net.Appender.RollingFileAppender">
????????<param?name="File"?value="_LogData\Log.txt"?/>
????????<param?name="AppendToFile"?value="true"?/>
????????<param?name="MaxSizeRollBackups"?value="10"?/>
????????<param?name="MaximumFileSize"?value="5MB"?/>
????????<param?name="RollingStyle"?value="Size"?/>
????????<param?name="StaticLogFileName"?value="true"?/>
????????<layout?type="log4net.Layout.PatternLayout">
????????????<param?name="ConversionPattern"?value="%d?[%t]?%-5p?%c?[%x]?-?%m%n"?/>
????????</layout>
????</appender>
????<root>
????????<level?value="DEBUG"?/>
????????<appender-ref?ref="LogFileAppender"?/>
????</root>
</log4net>


































5. 以上定義了多個appender. 簡單來說, 每一個 appender 都是一種輸出介質.
6. root節點指定了選用的 appender. 本例選用了LogFileAppender. (文本文件輸出). 在Appender定義中定義了輸出的格式. 和目標文本文件所在位置. (起始位置是應用程序根目錄. (web.config所在目錄).
7. 到目前位置就配置好了log4net. 可以在我們的應用中直接使用了.
8. 以下說明應用方法:
要輸出日志, 必須首先得到帶有一個別名的logger.
使用以下命令
(C#):
log4net.ILog Logger logger = log4net.LogManager.GetLogger(this.GetType());
(可以直接使用GetType得到當前類名)
之后調用
logger.Info(string message);
logger.Error(string message);
logger.Debug(string message);
即可輸出日志.
調試后可查找應用程序根目錄下是否已經自動創建XxxxxApplication.log.txt文本文件.以及是否正確輸出了日志.
log4net是一個非常完善的日志組件. 有著強大的可配置性. 有助于提高開發效率.
關于log4net的配置. 可參考apache組織的官方文檔位于
http://logging.apache.org/log4net