Home > apache > apacheのログを整形して携帯端末IDを出したり、画像ファイルのログを出力させないようにする

apacheのログを整形して携帯端末IDを出したり、画像ファイルのログを出力させないようにする

デフォルトでapacheは画像ファイルのログを出すのだけれど、
ログが肥大するし、あまり見ないので、こちらを消してしまいます。
あとついでにログの出力方法を調整したり、日別の集計にしたり、携帯用の設定を追加してみたりしてみる。

apacheのログ関連設定はhttpd.confのこの周辺部分に書いておきます。

<IfModule log_config_module>
</IfModule>

上記<Ifmodule log_config_module…の中に書いていきます。

まずはエラーログから

ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error.log.%Y%m%d 86400"

エラーログはerror.log.20081016のような形式で日別に出すということ。
86400はこの秒数(この場合1日)でログをローテートするの意味。

そしてその下あたりにログレベルを記載

LogLevel warn

どのレベルでエラーログを出すかということです。
詳細はこちら↓
LogLevel ディレクティブ

次はアクセスログの設定。

まずはログの書式設定

LogFormat "%h %l %u %t \"%r\" %>s %b \"%U\" \"%q\" \"%{User-Agent}i\" \"%{cookie}i\" \"%{Referer}i\" \"%{X-Up-Subno}i\" \"%{x-jphone-uid}i\" \"%{X-DCMGUID}i\"" combined

内容は以下のようになってます

リモートホスト リモートログ名 リモートユーザ 時刻 リクエストの最初の行 ステータスコード レスポンスのバイト数 リクエストURL クエリーストリング(?=の値) UserAgent cookie リファラー auの端末ID SoftBankの端末ID DoCoMoの端末ID

ちなみにログの書式は以下を参考に。
カスタムログ書式
combinedはこの書式をcombinedという名前に設定という意味。

次はログ出力の方法

CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access.log.%Y%m%d 86400" combined env=!nolog

こちらはエラーログのときと同じです。
combinedは上で設定したcombinedという書式で出力するという意味。
env!=nologはnologと設定したデータは表示させないという意味です。
ここで、nologを設定します。

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog

これは、拡張子がgif,jpg,png,css,jsのリクエストをnologという名前にしたという意味です。
CustomLogでenv!=と指定しているのでコレジャナイってことですね!

できたものはこんな感じです。

<IfModule log_config_module>
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error.log.%Y%m%d 86400 540"
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%U\" \"%q\" \"%{User-Agent}i\" \"%{cookie}i\" \"%{Referer}i\" \"%{X-Up-Subno}i\" \"%{x-jphone-uid}i\" \"%{X-DCMGUID}i\"" combined
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access.log.%Y%m%d 86400 540" combined env=!except-request
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" except-request
</IfModule>

これでapacheを再起動するといらないファイルが出ない日付別のログファイルが出力されるようになりました。めでたしめでたし。

関連記事

コメント:0

コメントフォーム
設定を保存する

トラックバック:0

この記事のトラックバックURL
http://www.sj6.org/plastic_apche_log_for_mobile_and_image/trackback/

Home > apache > apacheのログを整形して携帯端末IDを出したり、画像ファイルのログを出力させないようにする

フィードとか

ページの上へ