-1

我有一个将日志文件写入.log 的应用程序。但现在我制作了一个 html jar 文件来实现应用程序(每个请求 1 个日志)。问题是当 2 个或更多线程同时运行时,html 日志会混淆。

示例:aaa.log 和 bbb.log

aaa.log 内容包含 bbb.log 内容,反之亦然

如何使其与自己的内容分开的日志文件。

ctx.htmllogger = new HTMLLogger(
        ctx.control.getCodeValue(), 
        ctx.AvailRequest.getTrip().getSegmentProductType()
        .getCodeValue(), ctx.OPT_TYPE);
String htmllogdir = System.getProperty("user.dir");

htmllogdir = htmllogs + "\" + ctx.htmllogger.getCurrentTS("ddMMyyyy" ) + "\" + ctx.OPT_TYPE.toLowerCase();
ctx.htmllogger.MakeDirectories(htmllogdir);

try { ctx.htmllogger.initLogger(DlgKuoni.class.getCanonicalName(), htmllogdir); } catch (IOException e) { ctx.htmllogger = null; e.printStackTrace(); } ctx.htmllogger.startHTMLLog();

感谢帮助我的人。

4

2 回答 2

2

你应该看看 log4j(也许还有 self4j)。真的没有必要自己处理这些事情。这都可以用 log4j 配置,包括 html-formatter 等。

于 2013-05-31T07:36:36.510 回答
0

发生这种情况是因为您的程序中有错误。很可能您有两个线程都使用的全局/共享变量来访问日志。

我建议你有一个日志资源,一次只有一个线程可见。这避免了混淆的机会。

于 2013-05-31T07:36:33.177 回答