(一)文件日志

1写日志到文件

把日志保存到D盘的myLog文件夹中的x.log文件中

这里,要保存的信息为:

 

格式:为年-- 时:分:秒 信息(每条一行)

 

<appender xmlns="" name="apenderforLog" type="log4net.Appender.FileAppender">

    <file value="D:myLogs\x.log"/>

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

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

测试如下:

mylog.Info("开始记录日志……");

mylog.Error("用户多次登录不成功!");

mylog.Info("日志追加结束.");

 

结果:

 

2009-12-10 15:33:04 - 开始记录日志……

2009-12-10 15:33:04 - 用户多次登录不成功!

2009-12-10 15:33:05 - 日志追加结束.

 

提示:这里说明一下,两个转换器的作用

·date 发生日志事件的本地时间。date后面还可以跟一个日期格式,用大括号括起来。

例如:%date{HH:mm:ss,fff}默认将使用ISO8601 格式。

·message由应用程序提供给日志事件的消息,简写格式为:m

2日志追加并发控制

 于多进程同时写入日志文件(这个没有测试过)

<appender xmlns="" name="apenderforLog" type="log4net.Appender.FileAppender">

    <file value="D:myLogs\x.log"/>

    <appendToFile value="true" />

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

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

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

lockingModel有两个枚举。

(二)日志的文件名自动生成

这里的输出源要用到 RollingFileAppender

RollingFile输出源类型枚举有:

Once:一个文件(不确定)

Size:按文件容量格式生成

Date:按日期定义格式生成

Composite:混合文件容量与系统日期

1)日期规则

文件名:年--.log

格式:为年-- 时:分:秒 信息(每条一行)

 

配置文件如下:

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

    <file value="D:myLogs\" />

    <appendToFile value="true" />

    <rollingStyle value="Date" />

    <datePattern value="yyyy-MM-dd&quot;.log&quot;" />

    <staticLogFileName value="false" />

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

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

提示:

·&quot;起到的作用是转义,就是把.log当作字面义,而不是时间日期的格式定义。(双引号)

·默认文件写入方式为追加,这里显示声明了

·RollingStyle也不知道这个怎么翻译,但意思大家都明白

·日期变化格式为yyyy-MM-dd.log(文件名)

·关闭固定文件名即staticLogFileName value设置为false

2Size(容量规则)

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

    <file value="D:myLogs\log.txt" />

    <rollingStyle value="Size" />

    <maxSizeRollBackups value="2" />

    <maximumFileSize value="2KB" />

    <staticLogFileName value="true" />

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

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

·rolling类型为文件容量

·设置文件最大值:maximumFIleSize2K,如果超过这个大小如何处理?这个由Backups来处理

·maxSizeRollBackups 用于处理备份文件。表示备份文件的文件最大数目。如果设置为0,表示不备份日志文件,而且当日志文件容量满了之后,将会截断以前的日志信息;如果是自然数,那么当日志备份文件数目满了之后,会删除以前的日志文件备份;如果是负整数,那么将会无限制的增加日志备份文件。

<maxSizeRollBackups value="2" />

<maxSizeRollBackups value="0" />

<maxSizeRollBackups value="-1" />

 

3Composite混合型

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

    <file value="D:myLogs\x.log" />

    <rollingStyle value="Composite" />

    <datePattern value="yyyyMMdd" />

    <maxSizeRollBackups value="4" />

    <maximumFileSize value="2KB" />

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

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

 

 

posted on 2009-12-10 16:40  梅桦  阅读(2014)  评论(0编辑  收藏  举报