两年以前项目中是用的log4net.dll是net2.0环境下面的,最近在官网http://logging.apache.org/log4net/download_log4net.cgi找到了net4.0环境下的文件可以下载了,经调试发现:net2.0中对应的配置文件在net4.0下已经不适用,需要做调整,调整后运行项目的时候记录日志功能才能生效。
具体设置步骤如下:
1、下载好log4net.dll文件后,找到net4.0版本的dll文件。拷贝到项目中根目录下的自定义目录lib文件夹下,然后在项目中添加对该文件的引用。
2、找到项目中Propertites目录下的AssemblyInfo.cs文件,在末尾添加一行调用配置文件的代码如下:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"Config\log4net.cfg.xml", Watch = true)]
3、新建配置文件夹Config,并添加一个log4net.cfg.xml文件,配置文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Log/log.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]/r/n" />
<param name="Footer" value="[Footer]/r/n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<logger name="SLog4net.Form1">
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</logger>
</log4net>
</configuration>
4、在服务或者窗体代码文件中添加如下代码来实例化:
public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
5、在任何按钮或者是函数中添加调用代码即可:
logger.Debug("用Log4Net记录日志到文件中");
6、运行项目,即可发现在项目的bin目录下自动新建一个log文件夹,里面有一个log.txt文件记录下我们所需要的日志。
注意:本文调用办法不需要在app.config文件中再做任何配置。