給自己的項目加入日志功能,首先添加引用log4net.dll,再設定配置檔案,由于是WebForm應用,是以配置檔案是app.config,如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<appSettings>
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="D:\\NetDiskLogData\\" />
<appendToFile value="true" />
<datePattern value="yyyy-MM-dd.LOG" />
<maxSizeRollBackups value="10" />
<rollingStyle value="Date" />
<maximumFileSize value="10MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="記錄時間:%d{yyyy-MM-dd HH:mm:ss} 線程ID:[%thread] 日志級别:%-5level 檔案:%file 類:%logger %message%newline%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
另外,有幾點是需要注意的:
1.配置檔案中configuration為根目錄,其中的節點需要按照規定的順序,configSections要在第一位,其次是appSettings,這是app.config的文法規定,不然會報錯:“Configuration system failed to initialize”。
2.要指定log4net使用app.config來讀取配置資訊,一般寫在AssemblyInfo.cs裡,此時隻需要在應用中配置一次就行了:[assembly: log4net.Config.XmlConfigurator(Watch=true)],不用每個類都寫這句話,不然的話會提示重複設定。
3.配置完成後下方會提示“未能找到元素‘log4net’的架構資訊”等一大堆提示内容,應該是XML檔案沒有經過驗證導緻的,這個不會影響程式。