Apache 2.2でカスタムエラーログを作成することはできますか?


11

ErrorLogに仮想ホスト名を追加し、それを自分が書いたプログラムにパイプで渡したいと思います。

Accessログと同様にカスタムエラーログ形式を書き込むことはできますか?


設定に応じて、仮想ホストごとにErrorLogを作成できます。統合された解析可能なログファイルとは異なりますが、何かです。
マフィニスタ

回答:


7

パイピングについては、ErrorLogディレクティブとPiped Logsの公式マニュアルエントリを参照してください。

カスタムエラーログ形式を取得することはさらに困難です。アクセスログは簡単にカスタマイズできますLogFormatが、エラーログ形式を変更するための組み込み機能はありません。私が遭遇したのCGI :: Carpのエラー・ログに出力するためのPerlモジュールです。最後に、この機能の必要性に応じて、Apacheソースコードを常に直接変更します。



6

Apache 2.4では、ErrorLogFormatディレクティブを使用できます。

構文: ErrorLogFormat [connection|request] format

簡単な例

ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"

例(スレッドMPMのデフォルト形式)

ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

例(2.2.x形式に類似)

ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

要求/接続ログIDを使用した高度な例

ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"

ソース:ErrorLogFormatディレクティブ


誰もが%a空白になる理由を推測できますか?クライアントIPアドレスであることになっています。それについて質問投稿しました
ボブスタイン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.