【发布时间】:2014-05-07 05:20:16
【问题描述】:
java中的线程轮询系统。我已经分别为每个线程包括了日志记录。但是fileappender的实例没有被线程关闭。因此,在下一次轮询中,当线程到来时,有两个 fileappender 实例,因此它记录了两次,在下一次轮询中再次记录了三次,依此类推...
这是我的代码
public void run()
{
String parent = "Autobrs", name = "Pool";
name = name + poolId;
String loggerName = parent + "." + name;
Logger log = Logger.getLogger(loggerName);
DailyRollingFileAppender fileApp = new DailyRollingFileAppender();
fileApp.setName("Autobrs." + loggerName + "_FileAppender");
fileApp.setFile("c:\\java\\"+ name+".log");
fileApp.setLayout(new PatternLayout("%d{yyyy-MM-dd HH:mm:ss} (%0F:%L) %3x - %m%n"));
fileApp.setThreshold(Level.toLevel("debug"));
fileApp.setAppend(true);
fileApp.activateOptions();
log.addAppender(fileApp);
}
我不知道如何处理。 请帮忙..
【问题讨论】:
-
您似乎正在尝试使用 poolId 来分隔日志。我想每个线程都是一样的。
标签: java multithreading logging