我们有一个 weblogic 批处理应用程序,它同时处理来自消费者的多个请求。我们使用 log4j 来记录目的。现在我们为多个请求登录到一个日志文件。为给定请求调试问题变得乏味,因为对于所有请求,日志都在一个文件中。
所以计划是每个请求都有一个日志文件。消费者发送一个必须执行处理的请求 ID。现在,实际上可能有多个消费者向我们的应用程序发送请求 ID。所以问题是如何根据请求隔离日志文件。
我们不能每次都启动和停止生产服务器,因此排除了使用带有日期时间戳或请求 ID 的覆盖文件附加程序的点。这是以下文章中解释的内容:http: //veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/
我还尝试过使用这些替代方法:
http://cognitivecache.blogspot.com/2008/08/log4j-writing-to-dynamic-log-file-for.html
http://www.mail-archive.com/log4j-user@logging.apache.org/msg05099.html
这种方法给出了预期的结果,但如果同时发送多个请求,它就不能正常工作。由于一些并发问题,日志会到处乱跑。
我期待你们的一些帮助。提前致谢....