2011-02-02 85 views
1

我正在製作一個直接與系統日誌數據一起工作的實用程序。它目前使用log4j將信息寫入控制檯。我需要一些機制將預定義格式的系統日誌數據發送到另一臺機器。這些數據不是當前實用程序如何操作的日誌..它仍然記錄到stdout用於其他目的。黑客Log4j發送自定義系統日誌消息

我注意到了SyslogAppender,它看起來很有前途。我寧願直接控制log4j,而不是使用log4j.properties文件。這可能嗎?

回答

4

您可以在log4j中添加appender到記錄器。

喜歡的東西:

Logger root = Logger.getRootLogger(); 

SyslogAppender syslogAppender = new SyslogAppender(); 
syslogAppender.setSyslogHost(<host ip:port>); 
syslogAppender.setThreshold(<required Level>); 
syslogAppender.setLayout(new PatternLayout(<required pattern>)); 

root.addAppender(syslogAppender); 

有對SyslogAppender更多的選項,參考javadocs細節。

(我在StackOverflow上的第一個答案,要溫柔!:))