log4net使用

Log4Net是开源的.Net日志记录库,我们可以使用它记录应用的日志信息和异常。可以安装如下步骤在项目中使用Log4Net。
1)使用Nuget包管理器安装Log4Net。这一步很简单,只要在包管理器中搜索log4net,进行安装就可以了。
2)在App.Config(Winform,WPF或者控制台项目)或者Web.config(Web项目)中进行配置,在configSections中增加log4net的配置定义:

1
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

然后增加具体的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<root>
<level value="ALL" />
<appender-ref ref="SysAppender" />
</root>
<!-- Print only messages of level DEBUG or above in the packages -->
<logger name="WebLogger">
<level value="DEBUG" />
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="App_Data/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>

3)如果是web项目,在Application_Start中增加:

1
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("~/Web.config")));

如果是其它项目,在AssemblyInfo中增加:

1
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]

4)在代码中使用,首先获取log4.net.ILog对象,一般在类中进行声明就可以了:

1
2
3
public partial class MainWindow : Window
{
private log4net.ILog log = log4net.LogManager.GetLogger("MainWindow");

然后就可以使用log.Info和log.Error进行日志记录了,比如:

1
2
3
4
5
catch (Exception ex)
{
MessageBox.Show("发生错误:" + ex.Message);
log.Error(ex.Message,ex);
}