b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

log4j appender自定义_log4j routingappender_fileappender log4j(4)

电脑杂谈  发布时间:2017-01-30 04:04:43  来源:网络整理

35if (result) {

36LogLog.debug(fileName + " -> " + scheduledFilename);

37} else {

38LogLog.error("Failed to rename [" + fileName + "] to ["

39+ scheduledFilename + "].");

40}

41try {

42this.setFile(fileName, true, this.bufferedIO, this.bufferSize);

43} catch (IOException e) {

44errorHandler.error("setFile(" + fileName + ", true) call failed.");

45}

46scheduledFilename = datedFilename;

47 }

48 protected void subAppend(LoggingEvent event) {

49long n = System.currentTimeMillis();

50if (n >= nextCheck) {

51now.setTime(n);

52nextCheck = rc.getNextCheckMillis(now);

53try {

54rollOver();

55} catch (IOException ioe) {

56if (ioe instanceof InterruptedIOException) {

57Thread.currentThread().interrupt();

58}

59LogLog.error("rollOver() failed.", ioe);

60}

61}

62super.subAppend(event);

63 }

按Log4J文档,DailyRollingFileAppender存程同步问题。不过本人木有找到哪里出问题了,望高人指点。

RollingFileAppender类

RollingFileAppender继承自FileAppender,不同于DailyRollingFileAppender是基于时间作为阀值,RollingFileAppender则是基于文件大小作为阀值。当日志文件超过指定大小,日志文件会被重命名成”日志文件名.1”,若此文件已经存在,则将此文件重命名成”日志文件名.2”,一次类推。若文件数已经超过设置的可备份日志文件最大个数,则将最旧的日志文件删除。如果要设置不删除任何日志文件,可以将maxBackupIndex设置成Integer最大值,如果这样,这里rollover()方法的实现会引起一些性能问题,因为它要冲最大值开始遍历查找已经备份的日志文件。

1 protected long maxFileSize = 10 * 1024 * 1024;

2 protected int maxBackupIndex = 1;

3 private long nextRollover = 0;

4

5 public void rollOver() {

6File target;

7File file;

8if (qw != null) {

9long size = ((CountingQuietWriter) qw).getCount();

10LogLog.debug("rolling over count=" + size);

11// if operation fails, do not roll again until


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29497-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...