log4net使用心得【原创】

          最近做项目使用了 nhibernate,在下载dll文件之后发现里面有5个dll文件,发现里有个log4net的dll文件,以前在做java的时候使用过log4j日志框架,于是怀疑这个肯定也是个日志框架,果然,网上查了下资料,发现已经有很多人在使用这个框架了,昨天清明节放假没事,所以研究了一下,呵呵.....今天终于成功输出日志了,这里和大家分享下经验。

          使用的环境:vs2008(当然这个和版本没什么关系),webform(关键,因为还有个winform,两者配置有区别)

经过几经波折我最终的代码如下:

1. 首先添加xml文件,这里不写在web.config有个好处,改写之后项目不用重新编译:

 

log4netConfig.xml(Author:myssh)<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender"  type="log4net.Appender.FileAppender" >
      <param name="File" value="log-file.txt" />
      <param name="AppendToFile" value="true" />

      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="%d - %m%n" />
      </layout>
    </appender>
  </log4net>
</configuration>

 

2. 添加global.asax,在application_state中启动log4net:

global.asax(Author:myssh)   void Application_Start(object sender, EventArgs e)
    {
        //在应用程序启动时运行的代码
        log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4netConfig.xml")));

    }    void Application_Start(object sender, EventArgs e)
    {
        //在应用程序启动时运行的代码
        log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4netConfig.xml")));

    } 

3. 这里已经配置好了,下面看看如何使用:

 

onclick(Author:myssh) //ILog log = LogManager.GetLogger(this.GetType()));

                //使用方式有多种,GetLogger有5个重载方法(1.2版本)
                ILog log = LogManager.GetLogger(typeof(Login));
                if (log.IsDebugEnabled)
                {
                    log.Debug(username + ":登陆系统");
                }

 

  总结:到这里我配置的log4net已经结束了,另外log4net还可以把日志输出到数据库当中,具体配置我这里就不讲了,(*^__^*) 嘻嘻……因为我还没用到,不过大体的配置也就和上面的差不多.............(待续)

posted on 2009-04-05 14:33  ToKens  阅读(267)  评论(0编辑  收藏  举报