再问log4j的问题,关于log文件名的更改!

inter1 2007-05-10 11:38:58
我的目的是希望在程序中动态的更改log的文件名。
配置文件一定是要有的,这样用户可以配置log输出的路径。
第一,我先用了FileAppender这个类
配置文件:
log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.Threshold = info
log4j.appender.file.File = c:/tmp/MyTest.log
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern =%m%n

java代码:
URL url = ClassLoader.getSystemResource(getLog4JPropertyFile());
PropertyConfigurator.configure(url);
FileAppender appender = (FileAppender)(Logger.getRootLogger().getAppender("file"));
String strFileName = appender.getFile() + ".XXXX";
appender.setFile(strFileName);

但是程序执行后,log的文件名不能被更改
请教!

第二,我先用了DailyRollingFileAppender这个类
配置文件:
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Threshold = info
log4j.appender.file.File = c:/tmp/MyTest.log
log4j.appender.file.DatePattern = '.'yyyy-MM-dd
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern =%m%n

java代码:
URL url = ClassLoader.getSystemResource(getLog4JPropertyFile());
PropertyConfigurator.configure(url);
DailyRollingFileAppender appender = (DailyRollingFileAppender)(Logger.getRootLogger().getAppender("file"));
String strFileName = appender.getFile() + ".XXXX";
appender.setFile(strFileName);

文件名能被更改为MyTest.log.XXXX,
但是,执行的时候却报这样的错误:
log4j:ERROR Failed to rename [c:/tmp/MyTest.log.XXXX] to [c:/tmp/MyTest.log.2007.05.10]
而且还捕捉不到这个error,
请教,各位达人!
...全文
596 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanguanghai 2007-05-10
  • 打赏
  • 举报
回复
studying
inter1 2007-05-10
  • 打赏
  • 举报
回复
谢谢楼上的
加了
fileAppender.activateOptions();
以后就可以了
fengmingjie 2007-05-10
  • 打赏
  • 举报
回复
Appender appender = LogManager.getLoggerRepository().getRootLogger().getAppender("A1");
if ( appender instanceof FileAppender ) {
FileAppender fileAppender = (FileAppender)appender;
fileAppender.setFile("xxxx");
fileAppender.activateOptions();
}
你参考这个试试
inter1 2007-05-10
  • 打赏
  • 举报
回复
up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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