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

log4j appender自定义_log4j routingappender_fileappender log4j(24)

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

22}

23

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

25if (scheduledFilename.equals(datedFilename)) {

26return;

27}

28this.closeFile();

29File target = new File(scheduledFilename);

30if (target.exists()) {

31target.delete();

32}

33File file = new File(fileName);

34boolean result = file.renameTo(target);

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()方法的实现会引起一些性能问题,因为它要冲最大值开始遍历查找已经备份的日志文件。


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

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

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