概述
废话不说,直接上代码
public class DailyRollingFileAppender extends
org.apache.log4j.DailyRollingFileAppender {
public DailyRollingFileAppender() {
super();
Runtime.getRuntime().addShutdownHook(new Log4jHockThread());
}
public DailyRollingFileAppender(Layout layout, String filename,
String datePattern) throws IOException {
super(layout, filename, datePattern);
Runtime.getRuntime().addShutdownHook(new Log4jHockThread());
}
@Override
public synchronized void setFile(String fileName, boolean append,
boolean bufferedIO, int bufferSize) throws IOException {
File logfile = new File(fileName);
logfile.getParentFile().mkdirs();
super.setFile(fileName, append, bufferedIO, bufferSize);
}
public QuietWriter getQw() {
return super.qw;
}
private class Log4jHockThread extends Thread {
@Override
public void run() {
QuietWriter qw = DailyRollingFileAppender.this.getQw();
if (qw != null) {
qw.flush();
}
}
}
}
最后
以上就是坚强美女为你收集整理的解决log4j BufferedIO=true 时,buffer有残余日志不能记录的问题的全部内容,希望文章能够帮你解决解决log4j BufferedIO=true 时,buffer有残余日志不能记录的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复