(一)文件日志
(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("日志追加结束.");
结果:
提示:这里说明一下,两个转换器的作用
·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".log"" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />
</layout>
</appender>
提示:
·"起到的作用是转义,就是把.log当作字面义,而不是时间日期的格式定义。(双引号)
·默认文件写入方式为追加,这里显示声明了
·RollingStyle也不知道这个怎么翻译,但意思大家都明白
·日期变化格式为yyyy-MM-dd.log(文件名)
·关闭固定文件名即staticLogFileName value设置为false
(2)Size(容量规则)
<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类型为文件容量
·设置文件最大值:maximumFIleSize为2K,如果超过这个大小如何处理?这个由Backups来处理
·maxSizeRollBackups 用于处理备份文件。表示备份文件的文件最大数目。如果设置为0,表示不备份日志文件,而且当日志文件容量满了之后,将会截断以前的日志信息;如果是自然数,那么当日志备份文件数目满了之后,会删除以前的日志文件备份;如果是负整数,那么将会无限制的增加日志备份文件。
<maxSizeRollBackups value="2" />
<maxSizeRollBackups value="0" />
<maxSizeRollBackups value="-1" />
(3)Composite混合型
<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>