zoukankan      html  css  js  c++  java
  • [Solution] 1分钟使用log4net

      log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具

        官网:http://logging.apache.org/log4net/index.html

        安装:Install-Package log4net

    1.复制log4net.xml文件

    <log4net>
    
      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <!--日志文件名开头-->
        <file value="Logs/project.log" />
        <!--是否追加到文件-->
        <appendToFile value="true" />
        <!--混合使用日期和文件大小变换日志文件名-->
        <rollingStyle value="Composite" />
        <!--日期的格式-->
        <datePattern value="yyyyMMdd" />
        <!--最大变换数量-->
        <maxSizeRollBackups value="30" />
        <!--最大文件大小-->
        <maximumFileSize value="1MB" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%d [%t] %-5p %m - [%F:%L]%n" />
        </layout>
      </appender>
    
      <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%d [%t] %-5p %m%n" />
        </layout>
      </appender>
    
      <root>
        <level value="DEBUG"></level>
    
        <appender-ref ref="RollingLogFileAppender"></appender-ref>
        <!--<appender-ref ref="ConsoleAppender"></appender-ref>-->
      </root>
    
    </log4net>
    

      

    2.初始化,读入配置

    var path = Server.MapPath("~/log4net.xml");
    log4net.Config.XmlConfigurator.Configure(new FileInfo(path));

    3.使用,可以更改配置文件log4net.config自己配置
    方式一:log4net.LogManager.GetLogger(GetType());
    方式二:log4net.LogManager.GetLogger("logger-name");
    方式三:LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    配置说明

    [level]

    包括ROOT在内的每一个LOGGER(ROOT也是一个LOGGER,只不过,他是祖先而已,别的方面,跟其他LOGGER一样),都可以定义Level
    level定义记录的日志级别,就是说,你要记录哪个级别以上的日志,级别由高往低依次是:
    None
    Fatal
    ERROR
    WARN
    DEBUG
    INFO
    ALL

    [layout]
       %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
       %n(new line):换行
       %d(datetime):输出当前语句运行的时刻
       %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
       %t(thread id):当前语句所在的线程ID
       %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
       %c(class):当前日志对象的名称,例如:
       %L:输出语句所在的行号
       %F:输出语句所在的文件名
       %-数字:表示该项的最小长度,如果不够,则用空格填充

    扩展:

    也可以直接在*.config添加以下节点,这样初始化配置的时候无需传参配置

      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>

    参考:

    http://logging.apache.org/log4net/release/manual/configuration.html

  • 相关阅读:
    C#中ConnectionStrings和AppSettings的区别
    VS2010 生成的程序在其他电脑上不运行的问题
    装修经验
    在Linux下安装rar for linux
    判断二叉搜索树的后序遍历序列
    二维数组中的查找某个数
    Spring MVC执行原理
    将二叉搜索树转换成一个排序的双向链表
    打印二叉树中所有分支之和等于某个数
    ObjectiveC中public、protected、private的使用[转]
  • 原文地址:https://www.cnblogs.com/neverc/p/4609919.html
Copyright © 2011-2022 走看看