WEB项目中使用Log4net ABC

看了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,看看错误信息,非常有用。

你可能感兴趣的:(Web)