2011-02-02 6 views
1

私はsyslogデータで直接動作するユーティリティを作成しています。現在、log4jを使用して情報をコンソールに書き込みます。あらかじめ定義されたフォーマットのsyslogデータを別のマシンに送るためのメカニズムが必要です。このデータは、現在のユーティリティがどのように動作しているかのログではありません。他の目的のためにstdoutに記録されています。カスタムSysLogメッセージを送信するためにLog4jをハッキングする

私はSyslogAppenderに気付き、それは有望そうです。私はlog4j.propertiesファイルを使用せずに、log4jを直接制御する方が好きです。これは可能ですか?

答えて

4

log4jのロガーにアペンダーを追加できます。以下のような

何か:SyslogAppenderのためのいくつかのより多くのオプションがあります

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); 

、詳細については、Javadocを参照してください。

(私の最初の答えはStackOverflowで、優しく!:)

関連する問題