1

我有一个 Java API 库。该库旨在测试设备的功能。后来这些库被公开为 web 服务,以便非 java 程序也可以访问它。我有一个包含 bean 和依赖库的 EAR,这个 EAR 部署到 weblogic 服务器中。

同时,我们正在为来自多个代理机器的多个设备以及来自库并在 weblogic 控制台日志文件中捕获的所有日志测试这些 web 服务。我已经在 weblogic 服务器中配置了 log4j。现在我面临的问题是,我无法区分这些日志来自哪些设备/IP。

根据设备 MAC/IP 识别日志的更好方法是什么?我用谷歌搜索并得到了 log4j MDC 之类的输入,可以用于这个应用程序。由于我没有编写任何 servlet,我不确定是否可以继续使用 MDC。

请指导我选择配置每个 MAC/IP 日志的最佳方式。

4

1 回答 1

0

MDC/NDC 不依赖于 servlet;在 javadoc 中提到它们的事实只是为了展示一个示例。您可以在任何 Java 应用程序中使用它。

MAC/IP 对 Web 服务不可见,因此您必须将其作为 Web 服务消息的一部分显式发送。完成后,在处理程序方法中,调用

NDC.push("127.0.0.1"); // example IP obtained from the web service
MDC.put("IP", "127.0.0.1");

并在各自%x的.%X{IP}PatternLayout

于 2012-08-06T22:23:20.773 回答