web-dev-qa-db-ja.com

Apacheエラーログにタイムスタンプを追加します

そのため、Apacheログで次のエラーが発生し続けます。

sendmail: fatal: open /etc/postfix/main.cf: No such file or directory

そして、どこで/いつ試行されているのかを把握しようとしていますが、Apacheログのどこで、より多くの情報を表示するためにconfを変更する必要があるのか​​がわかりません。何か案は?

私のApache2.confには次のものがあります(これにより、適切なフォーマットが表示されると思いました)。

ErrorLog ${Apache_LOG_DIR}/error.log
LogLevel warn
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

エラー自体を修正したくないことに注意してください(ファイルが存在するようにする、postfixを修正するなど)。sendmailコマンドを実行しようとしているものを知りたいだけです。

1
Aram Papazian

Apacheがメールを送信しようとします。たぶんPHPまたはCGIスクリプトからですが、それ自体ではありません。スクリプトがchrootされている場合、/ etc/postfix/main.cfにアクセスしてエラーを返すことはできません。何も表示されませんが、ログ内(エラー行と同時にユーザーが要求したURLを見つけることができる小さなサイトを除く)。

カスタムログを追加することもできます(%{format}t option)[1]ですが、エラーログには記録されません。

編集:エラーログをSyslogにリダイレクトして、syslogによって日付を追加することもできます:ErrorLog syslog:local1

[1] https://httpd.Apache.org/docs/trunk/mod/mod_log_config.html#formats

2
Dom