您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发

【原】log4j使用之DailyRollingFileAppender教程

不忘初心 不忘初心 2019-05-13 围观() 评论() 点赞() JAVA开发

简介:除了按照log文件的体积大小来回滚的RollingFileAppender,log4j还提供了按照时间段来回滚的RollingFileAppender,这个更加好用了,体积个数什么的,不好计算平均值,但是时间段就不一样了,我管你日志多还是少,时间到了我就回滚生成一个新的log文件。

除了按照log文件的体积大小来回滚的RollingFileAppender,log4j还提供了按照时间段来回滚的RollingFileAppender,这个更加好用了,体积个数什么的,不好计算平均值,但是时间段就不一样了,我管你日志多还是少,时间到了我就回滚生成一个新的log文件。

先来看一下配置:

# 配置根logger,如果下面没有自定义logger,那么项目中的日志就都是debug级别,输出到console
log4j.rootLogger=DEBUG,console,dailyFile

# 屏蔽框架日志,只有报错的时候才放出来,优先级高于rootLogger
log4j.logger.org.springframework=ERROR
log4j.logger.org.apache.ibatis=ERROR
log4j.logger.org.mybatis.spring=ERROR
log4j.logger.com.mchange=ERROR

# 自定义包路径中的日志等级,直接写一个level即可,appender可选择,如果没写就默认使用rootLogger中配置的console
log4j.logger.com.ssm=DEBUG

# 打印出jdbc的日志
log4j.appender.java.sql.ResultSet=DEBUG
log4j.appender.java.sql.Connection=DEBUG
log4j.appender.java.sql.Statement=DEBUG
log4j.appender.java.sql.PreparedStatement=DEBUG

# 控制台(console)
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c - %m%n

# 每天产生一个日志文件(dailyFile)
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
#指定输出级别为debug,优先级最高
log4j.appender.dailyFile.Threshold=DEBUG
#日志立即输出,不用缓冲,默认为true
log4j.appender.dailyFile.ImmediateFlush=true
#因为是文件,所以会有追加的动作,控制是否追加,还是覆盖,默认为true
log4j.appender.dailyFile.Append=true
#配置日志文件路径,../logs会在tomat的logs目录下生成日志文件
log4j.appender.dailyFile.File=../logs/dailyFile.log
#配置回滚文件的后缀格式,比较人性化,默认是'.'yyyy-MM-dd,RollingFileAppender就不行,必须是123依次增加
#我这个格式,最终生成的文件就会是长这样:dailyFile.log-2019-05-07.log,所以如果需要看起来输入点儿,上面的file参数就不要带或追
log4j.appender.dailyFile.DatePattern='-'yyyy-MM-dd'.log'
#选择输出方式
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
#配置日志输出格式
log4j.appender.dailyFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c - %m%n

参数增加了一个DatePattern,就是用它来控制回滚的时间段,利用日期格式化来决定回滚时间点,写法如下:

'.'yyyy-MM,对应monthly(每月)

'.'yyyy-ww,对应weekly(每周)

'.'yyyy-MM-dd,对应daily(每天)

'.'yyyy-MM-dd-a,对应half-daily(每半天)

'.'yyyy-MM-dd-HH,对应hourly(每小时)

'.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)

大家可以根据自己的需要来选择格式,我之前做测试的时候,用的是yyyy-MM-dd格式,给大家看下截图:

log4j使用之DailyRollingFileAppender教程

上图中可以看到,已经有2个带有日期后缀的日志文件了,而且都是以天为纬度,后缀格式不习惯的话,可以参考我上面贴出来的log4j.properties,如果是按照我贴出来的配置注释来写,那后缀就依旧还是.log,如:dailyFile-2019-05-05.log。

log4j日志框架

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们