2009-08-19 20 views
3

local4レベルでsyslogにログを記録しようとしています。環境:Tomcat6、OpenSolaris、Struts2、log4j。私は/etc/syslog.confファイルを編集し、私はsyslogのを再起動した後、このエンドログにlog4jを使用し、syslogにログに記録できないTomcat6 webapp

local4.notice    /var/log/mylog.log 

に以下の行を追加している

log4j.rootLogger=INFO, SYSLOG 
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender 
log4j.appender.SYSLOG.syslogHost=localhost 
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.SYSLOG.layout.ConversionPattern=%d [%t] %-5p - %m%n 
log4j.appender.SYSLOG.Facility=local4 

follows-としての私のlog4j.propertiesの内容は、サービス。シェルから次のコマンドを実行すると、/var/log/mylog.logに正しく記録されます。これは主にsyslogのサービスがcorrectly-

logger -i -p local4.notice -t "check log" "test message" 

に取り組んでいることを意味しかし、私は、Webアプリケーションからのログが/var/log/mylog.logに到達したことがない理由を理解するのは非常にできません。私のlog4j設定はSysLogAppenderに対して正しいですか?

私は「DailyRollingFileAppender」などのような通常のアペンダをしようとすると、ログの作品は、私がSyslogAppenderが仕事を得るためにちょうどができませんfine..but ..

ありがとう! -Keshav

答えて

2

通常、syslogデーモンがネットワークからのパケットを受け入れるように設定されていないため、syslogへの追加が失敗します。あなたの "logger -i -p"はパケットが許可されているかどうかを示していません...

+0

申し訳ありませんが、わかりませんでした。私はlocalhostから試しています。私はsyslogdがUDPポートをリッスンしていることを確信しています。 – Keshav

+1

チェッキー、ありがとうございました。 – Keshav

7

Ubuntu 10.04と同様の問題で、SyslogAppenderメッセージを受信するために/etc/rsyslog.confに2行のコメントを外さなければなりませんでした。

# provides UDP syslog reception 
$ModLoad imudp 
$UDPServerRun 514 
+0

ありがとうございます。これが助けになった! –

関連する問題