在同一个tomcat上链锯同一个log4j -sockethub appender的多个版本



我在一个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?

如果你将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配置定义唯一的'port'值:
    • log4j.appender.HUB。port=(每个应用程序的不同端口)

当你重新启动你的应用程序和链锯,你应该有一个'zeroconf'选项卡在链锯中列出你的sockethuappender条目。

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

最新更新