log4j转换模式来识别机器

时间:2010-08-23 14:44:54

标签: log4j

我们正在为集成测试开发一个测试平台场景。我们的想法是在隔离网络上的两台机器上运行我们的代码。我们在代码中设置了各种日志消息,这很正常。但是,我们希望将两台计算机上的交互记录到一个公共日志中,以便我们可以跟踪它们之间的交互。

为此,我们想要识别引发日志消息的机器。我的第一个想法是我们可能能够使用转换模式执行此操作,但无法在引用中看到实现此目的的模式。

我想我的问题分为两部分。首先是这是可能的,其次,如果没有,社区是否有任何关于如何实现这一目标的想法。

非常感谢。

西蒙

3 个答案:

答案 0 :(得分:1)

AFAIK使用现有模式是不可能的。我的第一个想法是使用Log4j的NDCMDC。对于你开始的每个线程,你必须在其中一个上下文中显式设置主机名,所以这有点麻烦。

答案 1 :(得分:0)

考虑为每个已部署的应用程序使用Java property or environment variable设置,并在Log4J实现中访问它。

答案 2 :(得分:0)

如果您使用的是Linux,则可以使用SyslogAppender和syslog的集中式日志聚合功能。将header属性设置为true时,可以获得SyslogAppender附带的主机名。