Log4Net

来源:互联网 发布:淘宝多少转化率正常 编辑:程序博客网 时间:2024/06/06 00:46

1:官网

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


2:配置:


<configuration>
   <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- Define some output appenders -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="D:/Demo/test.txt"/>
      <appendToFile value="true"/>
      <maxSizeRollBackups value="10"/><!--最大文件回滚的个数-->
      <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 value="DEBUG"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>

2:

<log4net>
    <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
    <!-- Set root logger level to ERROR and its appenders -->
    <root>
      <level value="ALL"/>
      <appender-ref ref="SysAppender"/>
    </root>


    <!-- Print only messages of level DEBUG or above in the packages -->
    <logger name="WebLogger">
      <level value="DEBUG"/>
    </logger>


    <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="App_Data/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
      </layout>
    </appender>
    <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
  </log4net>


3:实际项目中:

  <log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="logs\\" />
      <appendToFile value="true" />
      <DatePattern value="yyyyMMdd'\\log.log'" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="10" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>


log4net配置文件设置  

2011-11-16 13:15:41|  分类: Notes|举报|字号 订阅

log4net的使用,主要在配置文件的设置上,明白了如何配置就基本能够封装自己要用的Log公共类了,以下是Log4net的一个配置示例及常用参数讲解。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--Log设定-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />

  </configSections>
  <log4net>
    <!--日志记录器logger,可以有多个-->
    <logger name="fileLog">
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </logger>
    <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="[%d][%-4p] %m%n"/>
      </layout>
    </appender>

    <appender name="RollingLogFileAppender"  type="log4net.Appender.RollingFileAppender" >
      <!--log存放的路径-->
      <param name="File" value="log_" />
      <param name="AppendToFile" value="true" />
      <param name="StaticLogFileName" value="false"/>
      <param name="MaximumFileSize" value="10MB"/>
      <param name="Threshold" value="ALL"></param>

      <param name="DatePattern" value="yyyyMM&quot;\\log_&quot;yyyyMMdd&quot;.log&quot;"/>
      <param name="RollingStyle" value="Composite"/>

      <param name="CountDirection" value="1"/>
      <param name="AppendToFile" value="true"/>

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

  </log4net>
</configuration>

RollingLogFileAppender(文件记录)参数:< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

参数名

描述

filter

可以有0或多个filter,具体配置在下面的Filter项说明。

layout

可以有0或者说1layout,当没有layout时,没有输出。具体配置在下面的layout项说明

param

Param有多个可以进行配置,常用的:

名称

描述

File

文件路径,如果RollingStyleCompositeDate,则这里设置为目录,文件名在DatePattern里设置,其他则这里要有文件名。已经扩展支持虚拟目录

RollingStyle

创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite

DatePattern

RollingStyleCompositeDate这里设置文件名格式

StaticLogFileName

True/false,默认为truetrue时,RollingStylerdate值将无效。且为true时,需要在file里指定文件名,所有日志都会记录在这个文件里。

MaximumFileSize

RollingStyleCompositeSize这里设置最大文件大小(可以KBMBGB为单位,默认为字节)

CountDirection

默认值为-1。当文件超过MaximumFileSize的大小时,如果要创建新的文件来存储日志,会根据CountDirection的值来重命名文件。大于-1的值时,file里指定的文件名会依次加上.0,.1,.2递增。当等于或小于-1时,创建依赖于MaxSizeRollBackups参数值,创建备份日志数。

MaxSizeRollBackups

备份日志数目,默认为0。在CountDirection为负数时有效。

Threshold

起始日志级别,取值为下面文章讨论的预定义日志级别。低于此级别的日志不会被记录。

AppendToFile

True/false,默认为true。当文件存在时,是否在原文件上追加内容。

例如:

<param name="File" value="UpLoads\\Log\\"/>

    <param name="MaximumFileSize" value="3000"/>

    <param name="StaticLogFileName" value="false"/>

    <param name="Threshold" value="Debug"></param>

    <param name="DatePattern" value="yyyyMM&quot;\\#{ServerHostName}-&quot;yyyyMMdd&quot;.log&quot;"/>

    <param name="RollingStyle" value="Date"/>



0 0