是否有一个强大的syslog的java.util.logging处理程序实现?

Tom*_*bel 6 java logging syslog java.util.logging

我正在考虑将第三方Java应用程序连接到我们的日志聚合/分析解决方案(可能是Splunk,但我们还没有完成我们的选择).将Splunk代理挂钩到syslog似乎是最容易的,所以我正在寻找一种方法将应用程序日志重定向到服务器上的本地syslog守护程序.

Java应用程序使用java.util.logging,遗憾的是它没有开箱即用的syslog处理程序(我相信log4j确实如此).有没有经过验证的库可以做到这一点?日志负载不是很大(每个进程大概每分钟10-20条消息,每个主机最多6个进程)但是我关注可靠性和持久性(例如当守护进程停止时会发生什么?...).

任何帮助,将不胜感激...

Pas*_*ent 8

SLF4J有一个桥接器,用于将java.util.logging事件传递给SLF4J(因此可以使用log4j或logback).它有性能成本(参见链接)但是考虑到你的负载,这应该不是什么大问题.所以你可以使用Log4J SyslogAppender(或更好的后续版本,logback,也有一个SyslogAppender).我对这个appender没有任何经验(所以这可能需要一些测试)但是logback肯定是一个可靠的库,我知道它可以配置为不使用"nopexception"或"nopex" 转换字打印堆栈跟踪(在在守护程序关闭时发送消息的情况会产生一些异常).将此appender与另一个(例如基于文件的)耦合将允许不丢失任何消息.