zoukankan      html  css  js  c++  java
  • 初学Log4Net

    1、Log4Net是什么?

          Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等)
     
    2、Appender
         Appender:可以将日志输出到不同的地方,不同的输出目标对应不同的Appender:RollingFileAppender(滚动文件)、AdoNetAppender(数据库)、SmtpAppender (邮件)等
     
    3、 level
         level(级别):标识这条日志信息的重要级别。None>Fatal>ERROR>WARN>DEBUG>INFO>ALL,设定一个Level,那么低于这个Level的日志是不会被写到Appender中的
     
    4、配置一个Log4NetDemo的环境步骤
         (1)、新建一个控制台项目,添加一个“应用程序配置文件”(App.config
         (2)、App.Config或者Web.Config的添加如下配置:
                 <!--Log4net块配置-->
         < configSections>
          < section name ="log4net " type ="log4net.Config.Log4NetConfigurationSectionHandler, log4net "/>
         </configSections>
     
         <log4net>
          <!-- 定义一些 appenders -->
          < appender name ="RollingLogFileAppender " type ="log4net.Appender.RollingFileAppender ">
          <!-- 写到哪个文件里去 -->
          < file value ="test.txt "/>
          <!-- 往文件里追加 -->
          < appendToFile value ="true "/>
          <!-- 最多10个日志备份文件 -->
          < maxSizeRollBackups value ="10 "/>
          <!-- 每个文件最大为1M -->
          < maximumFileSize value ="1024KB "/>
          <!-- 回滚的格式按照大小 -->
          < rollingStyle value ="Size "/>
          < staticLogFileName value ="true "/>
          <!--日志输出格式-->
          < layout type ="log4net.Layout.PatternLayout ">
           < conversionPattern value ="%date [%thread] %-5level %logger - %message%newline "/>
           </ layout>
           </ appender>
           < root>
         <!--定义level级别值和appender的列表-->
          < level value ="DEBUG "/>
          < appender-ref ref ="RollingLogFileAppender "/>
          </ root>
      </log4net>
         (3)、添加对log4net.dll的引用
         (4)、初始化:在程序最开始加入log4net.Config.XmlConfigurator.Configure();
         (5)、在要打印日志的地方LogManager.GetLogger(typeof(Program)).Debug("信息"); 通过LogManager.GetLogger传递要记录的日志类类名获得这个类的ILog(这样在      日志文件中就能看到这条日志是哪个类输出的了),然后调用Debug方法输出消息。因为一个类内部不止一个地方要打印日志,所以一般把ILog声明为一个static字段。
         (6)、输出错误信息用ILog.Error方法,第二个参数可以传递Exception对象。log.Error("***错误"+ex)log.Error("***错误",ex)
     
      主程序代码:
      amespace log4netDemo

         {
              class Program
             {
                 private static ILog log = LogManager.GetLogger(typeof(Program));
                 static void Main(string[] args)
                 {

                  //从配置文件读取log4net的配置,然后进行初始化操作
                     log4net.Config.XmlConfigurator.Configure();
                     log.Debug("调试");
                     log.Error("出错");
                 }
             }
          }

     运行结果:在该程序bin/Debug目录下生成test.txt文本文件,内容如下:  

      2013-10-20 00:39:24,730 [8] DEBUG log4netDemo.Program - 调试
      2013-10-20 00:39:24,743 [8] ERROR log4netDemo.Program - 出错

  • 相关阅读:
    短url生成类
    websphere6.1部署SystemErr.log必须为元素类型“webapp”声明属性“ve
    解决websphere6.1必须为元素类型webapp声明属性version
    websphere6.1部署SystemErr.log必须为元素类型“webapp”声明属性“ve
    websphere6.1部署ear程序教程
    目测websphere6.1不支持dbcp1.4以及1.4以上版本
    maven与log4j之间的配置,log4j如何配置到web项目根目录下最简单方案
    在myeclipse中制作能部署到websphere上的java web程序教程制作ear
    【技术贴】servlet传参|前台传参含中文符号等 tomcat乱码 java后台接收乱码终极解决方
    【技术贴】servlet传参|前台传参含中文符号等 tomcat乱码 java后台接收乱码终极解决方
  • 原文地址:https://www.cnblogs.com/zcz527/p/3378695.html
Copyright © 2011-2022 走看看