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

【原】log4j使用之RollingFileAppender教程

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

简介:单个log文件会出现体积过大的情况,log4j提供了按照时间段来回滚的RollingFileAppender,可以按照指定大小的体积来回滚log文件。

单个日志文件,在日复一日的写入后,体积会增长的非常快,如果开启了debug级别的日志,那会更加的恐怖,如果访问量很大的网站,尤其需要注意这一点,之前在朋友那里碰见过一个这种问题,日志写入的巨快,最后直接将磁盘撑爆了,导致项目都用不了了。

还好,这个问题可以使用RollingFileAppender来解决,这个appender可以做到按照大小回滚日志文件,预设一个大小阈值,当log的体积到了这个阈值之后,就会将所有日志内容都写入到一个新的log中,本身的log内容被清空,好方便继续使用。

log4j.properties

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

# 屏蔽框架日志,只有报错的时候才放出来,优先级高于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

# 到达指定大小时产生一个新文件(rollingFile)
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
#指定输出级别为debug,优先级最高
log4j.appender.rollingFile.Threshold=DEBUG
#日志立即输出,不用缓冲,默认为true
log4j.appender.rollingFile.ImmediateFlush=true
#因为是文件,所以会有追加的动作,控制是否追加,还是覆盖,默认为true
log4j.appender.rollingFile.Append=true
#配置日志文件路径,../logs会在tomat的logs目录下生成日志文件
log4j.appender.rollingFile.File=../logs/rollingFile.log
#配置日志文件回滚的阈值,超过了这个体积就会生成一个新的文件,默认10M
log4j.appender.rollingFile.MaxFileSize=200KB
#配置回滚文件的个数,默认1个
log4j.appender.rollingFile.MaxBackupIndex=3
#选择输出方式
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
#配置日志输出格式
log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c - %m%n

跟file相关的appender都是FileAppender的子类,每个参数的意思和作用,大家可以配置文件中的注释,并结合上一篇文章一起来看。

运行看一下效果:

log4j使用之RollingFileAppender教程

按序生成了.1.2.3后缀的新日志文件,体积都是201KB,这就正好可以让大家明白我上面的配置,我设置的体积阈值是200KB,所以回滚生成的新文件大小都是201KB,而且我设置了回滚的个数为3,那么当回滚日志文件达到3个以后,再次回滚本身的时候,就不会再生成新的log文件了

log4j日志框架

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

很赞哦! ()

文章评论

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

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

雨落无影

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

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

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

站点信息

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