看了n篇log4net的教程,虽然有很多是介绍在WEB项目中使用log4net的,但是没有一个试验成功。
晕死!研究了半个小时,终于搞定。
1.修改AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch=true)]
2.修改web.config
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<system.web>
...系统自动生成的配置
</system.web>
</configuration>
3. 新建一个类Logger.cs
public class Logger
{
private static log4net.ILog log=null;
private static object lockHelper = new object();
public static log4net.ILog Log
{
get
{
if ( log == null )
{
lock ( lockHelper )
{
if (log==null)
log = log4net.LogManager.GetLogger( "logger" );
}
}
return log;
}
}
}
4.新建log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net debug="false">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<file value="log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
</configuration>
5.调用方法
Logger.Log.Debug("Hello");
6.确定WEB所在文件夹有写的权限。
7.OK
在使用log4net 有问题的时候,请在log4net.config中设置
<log4net debug="true">
这样就能看到出错的信息。
一开始我没有设置文件的写权限,所以使用没有成功。后来打开了debug,看到了错误信息,这才搞定了。所以大家在使用log4net有问题时,一定要打开debug,看看错误信息,非常有用。