关于LOG4J生成以时间命名的log文件的问题

regnay 2004-11-30 11:46:52
目的如题:
1.代码如下:
package com;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.PropertyConfigurator;

public class test {
public static void main(String argv[]) {

Logger logger = Logger.getLogger(test.class);

PropertyConfigurator.configure("config/log4j.properties");

BasicConfigurator.configure();

logger.setLevel(Level.INFO);

logger.debug("This is debug.");

int i = 0;
while(i < 50000000) {
logger.info("This is an info.");
logger.warn("This is a warning.");
logger.error("This is an error.");
logger.fatal("This is a fatal error.");
i++;
}
return;
}
}

2.配置文件如下:
log4j.rootCategory=WARN, dest1,A1
log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%-5p: %m%n

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=log/sms.log
log4j.appender.A1.DatePattern='sms'yyyyMMdd-HH-mm'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d] %t %c %-5p - %m%n

结果只能生成sms.log
请问各位还需要什么其他的设置吗?
...全文
555 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
narilee 2004-12-02
  • 打赏
  • 举报
回复
Learning!
buzhiming99 2004-12-01
  • 打赏
  • 举报
回复
log4j.appender.A1.DatePattern = .yyyy-MM-dd 即可,这是DatePattern规定的格式,更多的格式看log4j的手册
regnay 2004-12-01
  • 打赏
  • 举报
回复
wfoxd(风狐) :
不能实现吗?我参照了以前http://dev.csdn.net/Develop/article/31/31827.shtm的文章,而且网上也有很多资料说可以实现以日期时间命名的log。
regnay 2004-12-01
  • 打赏
  • 举报
回复
好,谢谢buzhiming99(不知名) 兄弟,现在可以了,但是中途出现过一次“log4j:ERROR Failed to rename [log/smsLog.log] to [log/smsLog.logsms20041201.log].”的错误,本想调查,但突然又恢复正常。
现在把该注意的几点写出来:
1.log4j.appender.R=org.apache.log4j.DailyRollingFileAppender,不要还用org.apache.log4j.RollingFileAppender
2.DailyRollingFileAppender没有MaxFileSize,MaxBackupIndex属性,所以必须注解
3. 如buzhiming99(不知名) 所说:用PropertyConfigurator就不需要用BasicConfigurator
感谢大家
buzhiming99 2004-12-01
  • 打赏
  • 举报
回复
去掉这行:
BasicConfigurator.configure();
用PropertyConfigurator就不需要用BasicConfigurator
regnay 2004-12-01
  • 打赏
  • 举报
回复
buzhiming99(不知名) :理论上是这样的,我也试了,就是不出结果,郁闷。
无欲则钢 2004-11-30
  • 打赏
  • 举报
回复
(i < 50000000)
你有病
wfoxd 2004-11-30
  • 打赏
  • 举报
回复
自己写一个类来管理你的LOG文件。只有这个办法!LOG4J自己不能给你实现!
regnay 2004-11-30
  • 打赏
  • 举报
回复
自己顶一顶
regnay 2004-11-30
  • 打赏
  • 举报
回复
楼上的 wqsea(阳光明媚的早晨) 兄弟:log4j.appender.A1.File=log/sms.log
是让文件输出到log目录中,这里应该没有错的。
regnay 2004-11-30
  • 打赏
  • 举报
回复
007JavaKing(接分) ,你出言谨慎一点,i < 50000000是想让产生的日志文件稍微大一点,你看了一眼之后就这么嚣张的说了这句话?如果留言不是为了解决问题,请你不要随便说话。
blackrider 2004-11-30
  • 打赏
  • 举报
回复
log4j.appender.A1.File=sms.log
wqsea 2004-11-30
  • 打赏
  • 举报
回复
log4j.appender.A1.File=log/sms.log

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧