我这样配置,
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylog.txtlog4j.appender.file.MaxFileSize=10KB
log4j.appender.file.MaxBackupIndex=5
为什么日志文件达到10kb之后就自动被新的日志文件给替换了?
怎样设置才能达到 保留最后5个日志文件 的效果?
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylog.txtlog4j.appender.file.MaxFileSize=10KB
log4j.appender.file.MaxBackupIndex=5
为什么日志文件达到10kb之后就自动被新的日志文件给替换了?
怎样设置才能达到 保留最后5个日志文件 的效果?
解决方案 »
- 求类似百度图片/QQ空间图片查看效果
- 关于josso。
- 请教一个关于 request.getParameter()的问题?
- JSP页面中的乱码问题
- 我们为您提供专业稳定的JSP虚拟主机,价格优惠!
- 请问在jsp中写的System.out.println("")输出放在哪里?
- sorry,我又来问弱智的问题了,如何在tomcat中使用servlet???(见笑了)
- 提问:关于java mail !我已经写好了 !但是发不出去!
- 散分:祝贺JSP论坛最PL的MM(windygirl)生日快乐!
- java如何实现微信公众号每天定时向复核条件的用户发送信息
- 出现不支持的 SQL92 标记: 12:
- 如何连接SQL数据库啊
所以我才 纳闷-ing
在增加log文件的时候,用的是rename,如果想真的新增,就要改它的原代码...
这个是log4j里面的原代码,
File file = new File(fileName);
boolean result = file.renameTo(target);
我是这么改的.
boolean result = true;
try{
java.io.FileInputStream fosfrom = new java.io.FileInputStream(fileName);
java.io.FileOutputStream fosto = new java.io.FileOutputStream(scheduledFilename);
byte bt[] = new byte[2048];
int c;
while((c = fosfrom.read(bt)) > 0){
fosto.write(bt, 0, c);
}
fosfrom.close();
fosto.close();
}
catch(Exception ex){
result = false;
LogLog.debug(ex.getMessage());
ex.printStackTrace();
}
记得,改完之后要打包.这个比较麻烦,如果没有那个必要,就不需要改了..一般报的错误是Failed to rename mylog.txt to mylog.txt.1之类的