Log4j使用笔记(二):每天生成一个日志文件、按日志大小生成文件

来源:互联网 发布:python 财经数据接口 编辑:程序博客网 时间:2024/05/18 10:02

1、实验代码

这里写图片描述

其中TestLog4j.java如下:

package cn.zhoucy.test;import org.apache.log4j.Logger;public class TestLog4j {    private static Logger logger=Logger.getLogger(TestLog4j.class); // 获取logger实例     public static void main(String[] args) {        logger.debug("调试debug信息");        logger.info("普通Info信息");        logger.warn("警告warn信息");        logger.error("error信息");               logger.fatal("严重错误fatal信息");    }}

log4j.properties如下:

log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile#Console  log4j.appender.Console=org.apache.log4j.ConsoleAppender  log4j.appender.Console.layout=org.apache.log4j.PatternLayout  log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n#Filelog4j.appender.File = org.apache.log4j.FileAppenderlog4j.appender.File.File = E://File.loglog4j.appender.File.layout = org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n#DailyRollingFilelog4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DailyRollingFile.File = E://DailyRollingFile.loglog4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n#RollingFilelog4j.appender.RollingFile = org.apache.log4j.RollingFileAppenderlog4j.appender.RollingFile.File = E://RollingFile.loglog4j.appender.RollingFile.MaxFileSize=1KBlog4j.appender.RollingFile.MaxBackupIndex=3log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

由配置文件:Console 和File是常规的控制台和文件输出,而DailyRollingFile 和RollingFile分别是按天生成,和按日志文件指定大小生成文件。
运行后,控制台输出如下:

这里写图片描述

查看E盘根目录(我运行了7次程序,期间为了演示每天生成,改过两次电脑日期):

这里写图片描述

这里的File.log就是普通的输出,追加的方式。

2、每天生成一个日志文件

首先来看下配置:

#DailyRollingFilelog4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DailyRollingFile.File = E://DailyRollingFile.loglog4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

关键配置就两行:
第1行:

log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender

就表明是每天生成一个日志文件。

第2行:

log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log

表明生成的日志文件名称,不过要注意,这里表示的是当天的文件名字,历史文件会以日期结尾。
最后两行在上一篇Log4j使用笔记(一)讲过,指明输出格式的。

3、按指定大小生成文件

有的时候,会需要指定文件大小,比如说,日志文件生成到了1M,就新生成一个日志文件,同时可以指定一共可以生成的最大文件数。配置文件如下:

#RollingFilelog4j.appender.RollingFile = org.apache.log4j.RollingFileAppenderlog4j.appender.RollingFile.File = E://RollingFile.loglog4j.appender.RollingFile.MaxFileSize=1KBlog4j.appender.RollingFile.MaxBackupIndex=3log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

关键的就是第3行和第4行:

log4j.appender.RollingFile.MaxFileSize=1KBlog4j.appender.RollingFile.MaxBackupIndex=3

表示的是,每个生成的日志最大是1KB,允许生成的最多文件数量是3,即是文件数量达到上限3个以后,则覆盖之前的文件。

附:log4j-1.2.17下载地址http://download.csdn.net/detail/theblackbeard/9820176

0 0
原创粉丝点击