Log4j

问题内容:Log4j:每天或每个月产生一个日志文件,这样文件不至于过大。 或者根据日志文件大小来判断,超过规定大小,日志自动增加新文件。
原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=3222157
所属论坛:框架、开源 审核组:JAVA
提问者:cowboy1114 解决者:YuLimin
感谢:sagittarius1979、dawangzi16
关键字:
答案:
为Log4j配置appender,我现在已经学会了RollingFileAppender的配置,不过总是觉得不太方便,能不能让Log4j帮我这样记录日志:

1.我想日志按天来记录,比如我制定一个文件名前缀为Web_Log,然后Log4j自动什么每天的日志,如Web_Log 2004-7-29.log,Web_Log 2004-7-30.log ...
2.如果这个功能实现的话,可不可以限定每个日志文件的大小(如5M),如果长度超出的话,自动分割日志(比如2004-7-29的日志为16M,分割成3个文件Web_Log 2004-7-29.log.1,Web_Log 2004-7-29.log.2,Web_Log 2004-7-29.log.3)

帮我按两个功能点分别实现,谢谢:>

--------------------------------------------------------
还有一点疑惑的就是,整个Log4j帮助文档根本没有系统的对log4j.properties配置说的详细说明,比如
log4j.appender.R.File=d:/log/example.log
File这个配置项,我是看了别人的示例才知道有他的存在,这个我从什么地方可以得到完整的说明呢?


---------------------------------------------------------------

你说的功能Log4j都有,好好找找..
---------------------------------------------------------------

http://tech.ccidnet.com/pub/article/c985_a51061_p1.html

下面是一个典型的log4j.properties属性文件。

# 默认日志级别ERROR。其他可供选择的级别包括INFO和DEBUG
log4j.rootLogger=ERROR, ROOT
log4j.appender.ROOT=org.apache.log4j.RollingFileAppender
log4j.appender.ROOT.File=myapplication.log
log4j.appender.ROOT.MaxFileSize=1000KB
# 保留5个旧的日志文件
log4j.appender.ROOT.MaxBackupIndex=5
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
# 日志格式:按照WebSphere通用日志格式相似的方式记录
log4j.appender.ROOT.layout.ConversionPattern=[%d] %t %c %-5p - %m%n
# 有选择地更改某些包或者类的日志级别
log4j.logger.com.webage.ejbs=INFO
---------------------------------------------------------------
http://dev.csdn.net/article/31827.shtm

我们开发的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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值