log4j B/S實戰演練: 自動設置備份文件
2019-11-18 13:05:09
供稿:網友
我們開發的B/S結構系統,在服務端一般要有日常運行的日志記錄。保存成日志文件形式的時候,大家經常會碰到一個問題:日志文件過大。上百兆的日志文件對 查閱日志信息來說也是一個問題。所以我希望能夠天天或每個月產生一個日志文件,這樣文件不至于過大。 或者根據日志文件大小來判定,超過規定大小,日志自動增加新文件。
在log4j中這兩種方式的實現都很簡單,只要在配置文件中設置即可。
一、按照一定時間產生日志文件,配置文件如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a DailyRollingFileAppender.
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
以上配置是天天產生一個備份文件。其中備份文件的名字叫backup.log。
具體的效果是這樣:當天的日志信息記錄在backup.log文件中,前一天的記錄在名稱為 backup.log.yyyy-mm-dd 的文件中。
類似的,假如需要每月產生一個文件可以修改上面的配置:
將
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
改為
log4j.appender.R.DatePattern = '.'yyyy-MM
二、根據日志文件大小自動產生新日志文件
配置文件內容如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a RollingFileAppender.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=backup.log
#log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
其中:
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一個備份文件
log4j.appender.R.MaxBackupIndex=1