0

我在一个 tomcat 上部署了同一个应用程序的多个版本。这两个应用程序都具有相同的 log4j 配置。因此,当我们使用电锯时,电锯中只会显示一个版本的日志。

这就是我在 log4j 中的内容

log4j.appender.HUB=org.apache.log4j.net.SocketHubAppender
log4j.appender.HUB.port=39867
log4j.appender.HUB.LocationInfo=true
log4j.appender.HUB.Threshold=INFO
log4j.appender.HUB.application=remotehost

有没有办法保留一个 log4j 文件并为 chaisaw 动态分配端口?

4

1 回答 1

0

如果将 JMDNS 添加到类路径中,则可以使用 log4j1.2.17 的 SocketHubAppender 中的 ZeroConf 支持以及 Chainsaw 的最新开发人员快照,以便“发现”Chainsaw 中的 sockethubappender 配置。

  • 在此处下载 Chainsaw 的最新开发人员快照:http: //people.apache.org/~sdeboy/
  • 下拉 JMDNS 并将其添加到您的类路径:http: //jmdns.sourceforge.net
  • 将此添加到您的 log4j 属性文件中:
    • log4j.appender.HUB.advertiseViaMulticastDNS=true
  • 更改 log4j 属性文件,为每个已部署应用的 SocketHubAppender 配置定义唯一的“端口”值:
    • log4j.appender.HUB.port=(每个应用不同的端口)

当您重新启动您的应用程序和 Chainsaw 时,您应该在 Chainsaw 中有一个“zeroconf”选项卡,其中列出了您的 sockethubappender 条目。

双击 ZeroConf 选项卡中的条目以打开一个新选项卡并开始从 SocketHubAppender 接收该应用程序的条目。

于 2013-05-31T20:51:13.033 回答