Kev*_*vin 6 java logging log4j config
我目前正在使用log4j中的DailyRollingFileAppender类来做日常日志文件附加,但我希望以下列格式分隔日志文件:
DATA.log.<date>_<time>_<random_#>
Run Code Online (Sandbox Code Playgroud)
这应该在每个程序执行时执行一次,所以我最终会得到像......
DATA.log.2011-01-13_12-46-38_<26>
DATA.log.2011-01-13_12-46-38_<79>
DATA.log.2011-01-13_12-46-38_<590>
Run Code Online (Sandbox Code Playgroud)
来自不同环境的不同日志文件可以汇集在一起.
无论如何在没有扩展FileAppender类的情况下执行此操作?至少,有办法吗?
DATA.log.<date>_<time>_<sequential_#>.log
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:我已经在使用DailyRollingFileAppender获取类似DATA.log.2011-01-13的内容.我想知道怎么做是在每个程序执行之后(或在每个程序执行之前)将日志文件翻转,并在结尾添加随机数字字符串.
编辑:将此类添加到您的项目中,并将其用作附加程序:
import java.util.Random;
import org.apache.log4j.DailyRollingFileAppender;
public class MyAppender extends DailyRollingFileAppender {
@Override
public void setFile(String fileName) {
if (fileName.indexOf("%rnd") >= 0) {
Random r = new Random();
fileName = fileName.replaceAll("%rnd", Integer.toString(r.nextInt()));
}
super.setFile(fileName);
}
}
Run Code Online (Sandbox Code Playgroud)
然后只需将附加程序的文件名设置为:filename.%rnd.log
log4j.appender.R=MyAppender.MyAppender
log4j.appender.R.File=.\\test.%rnd.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4579 次 |
| 最近记录: |