针对log4j 1.3.x以及zeroconf协议,ChainSaw可以自动发现在局域网中的服务器日志。但是因为公司主要使用log4j 1.2.x,所以本文也是针对log4j 1.2.x的。ChainSaw 2.x 对log4j的SocketHubAppender,也提供了ZeroConf的发现手段,但是俺没有试验成功,所以本文介绍的方法是最土的,需要少量配置的方法。
1. 配置你的log4j.properties文件,以让你的日志可以发送到网络上。
# HUB is a socket hub appender
log4j.appender.HUB=org.apache.log4j.net.SocketHubAppender
log4j.appender.HUB.layout=org.apache.log4j.PatternLayout
log4j.appender.HUB.layout.ConversionPattern=[cc]%d{MMM-dd HH:mm:ss} %-14.14c{1}- %m%n
log4j.appender.HUB.port=4445
2. 配置ChainSaw连接到该端口上以接收日志信息。
![](http://dl.iteye.com/upload/attachment/478780/b12035dc-ccfe-3fba-ba76-43d0442be01c.png)
用firefox访问一下儿你的应用,你应该可以监控到新的日志了。
有啥用呢?其实对我们经常开发服务器端的童鞋来说,这个东西我倒是每觉得特别有用,但是对我们的客户端开发人员以及测试的同学来说,这玩意比直接ssh上去tail强多了。