1

在我的DailyRollingFileAppender中,我希望将 de 放在datePattern文件扩展名之前,例如

  • 今天的日志文件:myFile.log
  • 昨天的日志文件:myFile. 2013-09-22 .log

怎么做 ?

我正在使用 Log4j 1.2.16

4

1 回答 1

0

我已根据此源代码进行了修改: https ://github.com/apache/log4j/blob/trunk/src/main/java/org/apache/log4j/DailyRollingFileAppender.java

在第 231 行,而不是这个:

scheduledFilename = fileName+sdf.format(new Date(file.lastModified()));

我用这个:

String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf('.'));
String fileExt = fileName.substring(fileName.lastIndexOf('.'));
scheduledFilename = fileNameWithoutExt + sdf.format(new Date(file.lastModified())) + fileExt;

并在第 311 行而不是这个:

String datedFilename = fileName+sdf.format(now);

我做了同样的修改:

String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf('.'));
String fileExt = fileName.substring(fileName.lastIndexOf('.'));
String datedFilename = fileNameWithoutExt + sdf.format(now) + fileExt;

按预期工作。

于 2019-12-28T23:24:35.753 回答