log4net配置篇

<?xml version="1.0" encoding="utf-8"?>

<log4net debug="false">

  <root>

    <level value="DEBUG" />

    <appender-ref ref="RollingFileAppender" />

    <appender-ref ref="ErrorRollingFileAppender" />

  </root>

  <appender name="RollingFileAppender"  type="log4net.Appender.RollingFileAppender" >

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

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

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

    <param name="CountDirection" value="-1"/>

    <param name="MaxSizeRollBackups" value="-1"/>

    <param name="MaximumFileSize" value="5MB"/>

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

    <param name="DatePattern" value="yyyy-MM-dd\\HH&quot;.txt&quot;"/>

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%d | 线程:[%t] | 级别:%-5p | 对象:%c | 信息: %m%n" />

    </layout>

    <filter type="log4net.Filter.LevelRangeFilter">

      <param name="LevelMin" value="DEBUG" />

      <param name="LevelMax" value="WARN" />

    </filter>

  </appender>

  <appender name="ErrorRollingFileAppender"  type="log4net.Appender.RollingFileAppender" LEVEL="ERROR">

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

    <!--是否续写-->

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

    <!--按照文件的大小进行变换日志文件-->

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

    <param name="CountDirection" value="-1"/>

    <param name="MaxSizeRollBackups" value="-1"/>

    <param name="MaximumFileSize" value="5MB"/>

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

    <param name="DatePattern" value="yyyy-MM-dd\\HH&quot;.txt&quot;"/>

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%d | 线程:[%t] | 级别:%-5p | 对象:%c | 信息: %m%n" />

    </layout>

    <filter type="log4net.Filter.LevelRangeFilter">

      <param name="LevelMin" value="ERROR" />

      <param name="LevelMax" value="FATAL" />

    </filter>

  </appender>

</log4net>

 

2.log4net配置文件介绍说明

log4net:log4net解析的配置节点

root:log对象的父类,log4net中获取的所有ILog对象都继承自root对象

<root>

    <level value="DEBUG" />

    <appender-ref ref="RollingFileAppender" />

    <appender-ref ref="ErrorRollingFileAppender" />

  </root>

-----------level   基类ILog对象的日志级别

-----------appender-ref ILog对象的日志消息输出配置引用对象  ref的值就是所引用appender对象的name值

appender:输出对象

我这里用的是RollingFileAppender,输出文件的对象,下面就对这个对象的相关配置参数进行简要说明下:

------- <appender name="RollingFileAppender"  type="log4net.Appender.RollingFileAppender" >  定义appender名称以及实现对象

-------<param name="File" value="Log\Info\" />  

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

------- <param name="AppendToFile" value="true" />  

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

-------<param name="RollingStyle" value="Composite"/>

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

-------<param name="CountDirection" value="-1"/>

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

-------<param name="MaxSizeRollBackups" value="-1"/>

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

-------<param name="MaximumFileSize" value="5MB"/>

RollingStyle为CompositeSize这里设置最大文件大小(可以KB,MB,GB为单位,默认为字节)

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

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

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

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

-------<param name="DatePattern" value="yyyy-MM-dd\\HH&quot;.txt&quot;"/>

RollingStyle为CompositeDate这里设置文件名格式

 

layout:可以有0或者说1个layout,当没有layout时,没有输出

-------<layout type="log4net.Layout.PatternLayout">

-------<conversionPattern value="%d | 线程:[%t] | 级别:%-5p | 对象:%c | 信息: %m%n" />

-------</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:输出语句所在的文件名

%-数字:表示该项的最小长度,如果不够,则用空格填充

filter:可以有0或多个filter,当前appender授权的范围

-------<filter type="log4net.Filter.LevelRangeFilter">

-------<param name="LevelMin" value="DEBUG" />

-------<param name="LevelMax" value="WARN" />

-------</filter>

参考文章连接:

  1.  http://blog.163.com/lyz_sea/blog/static/115586707201110161145022/

  2. http://www.cnblogs.com/xiepeixing/archive/2013/08/15/3259444.html

  3. http://blog.csdn.net/zhoufoxcn/article/details/2220533  

  4.  

posted @ 2015-11-24 13:39  AntColony  阅读(214)  评论(0)    收藏  举报