pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


apache のログにリクエストの処理時間を出力してみる。

今どきの apache のログ形式は LTSV にするのが基本だと思いますけど、何らかの理由で common や combined を踏襲せねばならないケースもあることでしょう。(いや、無いか?)

そんな場合に、アクセスログにリクエストの処理時間を出力したいなあ、とイロイロと考えた結果、個人的にはコレで良いんじゃないかと思っております。

LogFormat "%h %D %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

このフォーマットは、第二フィールドを %l から %D に変えています。%l は ident で取得したユーザ名を出力する指定ですが、これでユーザ名が取得できたのは前世紀の平和なインターネットの話です。現在はこのフィールドに出力されるのは - という文字であり実質的に未使用のフィールドです。だから積極的に使ってみようという考えです。


さらに手を入れてこんなフォーマットにすれば、リクエストされたバーチャルホスト名もログに記録できます。

LogFormat "%h %D %u %t \"%m /%v:%p%U%q %H\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

このフォーマットは "%r" を "%m /%v:%p%U%q %H" に置換しています。 本来ならば "%r" = "%m %U%q %H" なのですが、%U の前に /%v:%p を追加することでバーチャルホスト情報およびポート番号が付与された形でログに残すようにしています。この状態でも combined の形式との互換性は一応保たれていますので、各種ツールでログを解析する場合の問題は生じないはずです。