地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

httpd 動的なログの振り分け

mod_setenvif - Apache HTTP サーバ バージョン 2.4

SetEnvIfを使った動的なログファイルの振り分けを行う方法。

  • Remote_Host - リクエストを行なっているクライアントのホスト名 (もしあれば)
  • Remote_Addr - リクエストを行なっているクライアントの IP アドレス
  • Server_Addr - リクエストを受け取ったサーバの IP アドレス (2.0.43 以降のみ)
  • Request_Method - 使用されているメソッド名 (GET, POST など)
  • Request_Protocol - リクエストが行なわれたプロトコルの名前とバージョン (例えば、"HTTP/0.9", "HTTP/1.1" など。)
  • Request_URI - URL のスキームとホストの後の部分。 追加の情報として、クエリーストリングにマッチさせる場合については RewriteCond ディレクティブを参照してください。

URIの内容でvarsを定義するかを判定

SetEnvIf Request_URI hoge vars

環境変数が設定されていれば下記のログへ内容を出力する

CustomLogs logs/virus env=hoge

設定されてない場合は以下のようにデフォルトのログが書き込まれる

CustomLogs logs/