http://logging.apache.org/chainsaw/quicktour.html
第一个特色。
我完成了教程,它只是展示了如何在视觉上使用GUI,它没有详细介绍这个新功能。我发现的最好的文档是:
就像Appenders在log4j环境之外发送日志事件(到文件,到smtp,到套接字等)一样,Receiver将日志事件带到log4j环境中。
接收器旨在支持从另一个进程接收远程日志记录事件。例如,SocketAppender将日志记录事件“附加”到套接字,为特定主机和端口号配置。在套接字的接收端可以是SocketReceiver对象。 SocketReceiver对象接收日志记录事件,然后将其“发布”到接收机器上的log4j环境(LoggerRepository),由配置的appender等处理。此环境中的各种设置(Logger level,Appender filters&阈值)应用于接收的记录事件。
接收器还可用于将其他日志包中的日志消息“导入”到log4j环境中。
接收器可以配置为将事件发布到给定的LoggerRepository。
因此...
使用这个新组件我可以实现什么样的日志记录策略?我只能使用电锯+简单的log4j文件追加器?
答案 0 :(得分:7)
他们可以通过远程事件做很多有趣的事情:
- 避免在应用程序服务器上创建文件。档案不好。
- 在多个应用程序服务器的情况下集中日志
- 查看当地环境中的实时生产日志,即使电锯不是很性感,过滤功能比普通vi / grep更方便。
- 登录数据库而不是文件。文件很糟糕。
可能还有更多!
答案 1 :(得分:3)
我过去曾在网格环境中使用过远程事件。
为什么?因为我们不知道我们的代码将在哪里运行。我们将部署'n'个工作,并且网格基础设施将选择运行这些工作的机器。如果没有远程事件,我们必须跟踪这些工作的去向,然后有登录,查找日志等麻烦。因为网格由用于其他目的的机器组成,我们无法保证机器将在以后诊断问题。
因此,所有内容都配置为将日志事件流回服务器,我们可以在每台服务器上创建日志文件,并自行管理这些日志。有一些问题,例如管理通过网络传输到一台服务器的数据量,但只要你知道这一点,就没问题了。