zoukankan      html  css  js  c++  java
  • log4net入门

     
    环境: VS2010,WIN7 旗舰版。
    步骤:
    步骤1,新建一个 控制台项目。
    步骤2,添加App.Config文件,添加一些配置信息,整个文件内容如下:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <!—log4net配置节,指示log4net配置节的名称及处理程序 -->
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
      </configSections>
      <log4net>
        <!— root日志,其它log4net日志对象默认会继承root日志的配置,比如appender等,这是log4net配置中必不可少的配置  -->
        <root>
          <!-- 日志记录的级别,低于DEBUG 的将不会记录 -->
          <level value="ERROR"></level>
          <!-- 使用哪个appender作为输出媒介,可以有多个appender -->
          <appender-ref ref="rollAppender"></appender-ref>
        </root>
        <!-- 将日志输出到 文件中 -->
        <appender name="rollAppender" type="log4net.Appender.RollingFileAppender,log4net">
          <!-- 文件增加方式,Composite是混合方式,只要日期或者文件大小超过指定的值,就会创建新的日志文件来存放日志信息 -->
          <param name="RollingStyle" value="Composite"></param>
          <!-- 日志文件路径,可以带路径,也可以带后缀名,如zy.log -->
          <param name="File" value="LOG\zy"></param>
          <!—为false表示新建的文件名会依据你指定的规则来命名,而不是一个始终使用同一个日志文件名 -->
          <param name="StaticLogFileName" value="false"></param>
          <!-- 为true表示日志信息是追加到文件后面的,不会覆盖以前记录的信息 -->
          <param name="AppendToFile" value="true"></param>
          <!-- 表示日志文件达到 6MB后会创建新文件来存放日志 -->
          <param name="MaximumFileSize" value="6MB"></param>
          <!--  日志文件名格式,结合上面的File配置节,会确定当前的日志文件名,比如 zy2012-07.LOG  -->
          <param name="DatePattern" value="yyyy-MM.LOG"></param>
          <!-- 日志内容的格式化 -->
          <layout type="log4net.Layout.PatternLayout,log4net">
            <!-- 下面的格式信息会这样输出日志信息: 2012-07-29 16:30:34,450 [8664] ERROR ConsoleDemo.Program this is error 
           其中 %d表示当前时间, %t表示当前正在运行的线程的ID,%p表示日志级别,%c表示记录日志操作所在的类,%m表示日志信息,%n表示换行 
           -->
            <param name="ConversionPattern" value="%d [%t] %-5p %c %m %n"></param>
            <!-- 日志头信息-->
            <param name="Header" value="-----------header------------"></param>
            <!-- 日志尾信息 -->
            <param name="Footer" value="-----------footer------------"></param>
          </layout>
    <!--  和 root中的日志级别相比,取限制级别最高的,比如root限制级别为error,而这里LevelMin取值为Debug,则限制级别为ERROR -->
         <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"></param>
            <param name="LevelMax" value="ERROR"></param>
          </filter>
    </appender>
    <!-- 自定义日志,additivity=false表示不继承root日志的配置信息,比如appender等 -->   
        <logger name="mylog" additivity="false">
          <level value="DEBUG"></level>
          <appender-ref ref="rollAppender"></appender-ref>
        </logger>
      </log4net>
    </configuration>
     
    步骤3:
    向AssemblyInfo.cs文件中添加如下信息以启用log4net
    [assembly:log4net.Config.XmlConfigurator()]
     
       步骤4:
       创建日志对象:
    private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            private static readonly ILog mylog = LogManager.GetLogger("mylog");
     
    编写测试代码:
     static void Main(string[] args)
            {
               
                log.Info("my info");
                log.Debug("zy debug");
                log.Warn("hello,warn");
                log.Error("this is error");
                log.Fatal("this is fatal");
                mylog.Info("mylog my info");
                mylog.Debug("mylog zy debug");
                mylog.Warn("mylog hello,warn");
                mylog.Error("mylog this is error");
                mylog.Fatal("mylog this is fatal");
                Console.Read();
            }
     
     
    结束。
    作者:imap
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    安卓四核PDA手持PDA智能POS机 打印二维码 分享
    安卓智能POS开单神器-成为零售批发商亲睐的生意帮手-pda销售扫描开单 现场结算打印凭据
    一个神奇的POS -扫描 现场销售 开单打印票据 安卓物联网POS机 手持开单终端机 省时省力 高效准确!!
    浩瀚土石方车辆管理计数器_刷卡计数器手持式土石方车辆计数器系统方案
    浩瀚ocr数字识别扫描枪 进口冻货抄码器 抄码器 牛羊肉 抄码器 抄码抄码枪 扫码器重量累加
    浩瀚抄码器 冻品扫码枪 扫码机识别数字 进口肉抄码器 牛羊抄码器 冻品抄码
    浩瀚牛肉扫码器 牛羊肉抄码 进口牛肉扫码枪 进口牛羊肉扫码机 抄码系统
    多进程
    不定长参数和进程
    面向对象进阶2
  • 原文地址:https://www.cnblogs.com/imap/p/2614053.html
Copyright © 2011-2022 走看看