log4net 是.net 的一款日志記錄框架。
它提供了很多的方法來幫助記錄日志:
使用起來也比較方便:
選中項目,點擊右鍵,然后選擇 Manage NuGet Packages...
安裝log4net package。
安裝好Package 之后,需要用配置文件來配置log4net.
在項目中添加log4net.config 文件,這個配置文件會將日志以xml 的形式記錄到 log.xml 中。
代碼如下:
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.xml" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
這里有一點要注意,就是需要將log4net.config copy 到bin folder,這樣我們的Exe 才能找到這個配置文件。
在Program 的上面添加代碼:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] //[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)] namespace Log4net { class Program { static void Main(string[] args) { } } } 或者是: namespace Log4net { class Program { static void Main(string[] args) { XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config")); } } }
配置好之后,我們就可以記錄日志了:
下面是我記錄的一個
在這里推薦使用EasyLogViewer 來查看日志:
http://www.codeproject.com/Tips/996927/EasyLogViewer-Yet-another-log-viewer-tool-but-Easi
當然還可以將日志文件的形式保存,只要我們更改下log4net.config 就可以了:
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件名開頭-->
<file value="project.log" />
<!--是否追加到文件-->
<appendToFile value="true" />
<!--混合使用日期和文件大小變換日志文件名-->
<rollingStyle value="Composite" />
<!--日期的格式-->
<datePattern value=""."yyyyMMdd" />
<!--最大變換數量-->
<maxSizeRollBackups value="30" />
<!--最大文件大小-->
<maximumFileSize value="50MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %m - [%F:%L]%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %m%n" />
</layout>
</appender>
<root>
<level value="ALL"></level>
<appender-ref ref="RollingLogFileAppender"></appender-ref>
<appender-ref ref="ConsoleAppender"></appender-ref>
</root>
</log4net>
具體的選項請參考:http://logging.apache.org/log4net/release/config-examples.html
文章列表