Websphere で実行されている Web アプリケーションは、log4j SysLogAppender を使用して、同じマシンにある syslog デーモンにメッセージを記録しています。syslog デーモンのデフォルト設定は、LOG_FROM_REMOTE=NO です。これは、syslog デーモンと同じマシンにある Web アプリケーションがメッセージを受け入れられないということですか?
3 に答える
LOG_FROM_REMOTE
が設定されている場合YES
、指定された UDP ポートをリッスンします。に設定されている場合は、そうではNO
ありません。値を no に設定したため、ポートをリッスンせず、ログ メッセージを受信できません。
logappender とデーモンが同じコンピューター上にある場合でも、UDP ポート経由で通信する必要があります。
jcasso さん、ご協力ありがとうございます。問題の解決に役立ちました。同じ問題に遭遇した可能性のある他の人を助けるために、/etc/default/syslog.conf で LOG_FROM_REMOTE プロパティが YES に設定されているかどうかを確認してください。そうしないと、log4j ログは syslog に到達しません。syslog dameon は、ポート 514 (デフォルト ポート) で UDP パケットをリッスンします。したがって、デバッグをオンにして log4j を実行しても、パケットが syslog に到達したかどうかにかかわらず、log4j は役に立ちません。それが役に立てば幸い
syslog-ng を使用する場合は、(/etc/syslog-ng ファイルで) " source s_all { " セクションの " udp(); " 行のコメントを外す必要があります。