• 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还可以把日志输出到数据库当中,具体配置我这里就不讲了,(*^__^*) 嘻嘻……因为我还没用到,不过大体的配置也就和上面的差不多.............(待续)

  • 相关阅读:
    What is "Type" in managed heap?
    SQL Server 2005:一个使用新创建的User的问题和解决方法
    如何证明Application Domain的隔离性
    我的WCF之旅(10):如何在WCF进行Exception Handling
    SQLXML初体验:用XML代替TSQL来操作数据库
    我的WCF之旅(3):在WCF中实现双工通信
    我的WCF之旅(4):WCF中的序列化[下篇]
    再说String
    谈谈基于Kerberos的Windows Network Authentication[上篇]
    我所理解的Remoting(1):Marshaling & Activation[上篇]
  • 原文地址:https://www.cnblogs.com/myssh/p/1429818.html
Copyright © 2020-2023  润新知