@SuppressWarnings("resource")
protected void subAppend(CountingQuietWriterEx qw, LoggingEvent event)
throws IOException {
// 此句不加可以节省20%的资源,但程序退出时日志会缺少
if (!bufferedIO)
qw.flush();
// 超过大小备份日志文件,并创建新文件
if (qw != null) {
long size = ((CountingQuietWriter) qw).getCount();
if (size >= maxFileSize) {// 超过单个日志大小
final String fileName = qw.getFileName();
String idx = fileName.substring(fileName.lastIndexOf(".") + 1);
qw = rollOver(qw, Integer.parseInt(idx) + 1);
} else {
String logDate = qw.getLogDate();
String today = format.format(new Date(event.timeStamp));
if (!logDate.equals("") && !logDate.equals(today)) {// 日切情况
qw = rollOver(qw, 0);
}
}
}
// 写日志,一定要调用write(string)方法,因为只有它才会累加count
qw.write(this.layout.format(event));
if (layout.ignoresThrowable()) {
// layout中忽略异常的处理,由此处写异常信息
String[] s = event.getThrowableStrRep();
if (s != null) {
int len = s.length;
for (int i = 0; i < len; i++) {
qw.write(s[i]);
qw.write(Layout.LINE_SEP);
}
}
}
}
GroupRollingFileAppender.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:jcode
作者:
评论列表
文章目录