Apache のログを LTSV で書きだす

シェアする

Apacheのログ、対して使ってないんだけどとりあえず LTSV 形式にしとこうかなーと思って変えてみた。

Sponsored Links

LTSVって何?

Labeled Tab Separated Values の略でテキストのフォーマットの仕様です。主にログのフォーマットに使われるようですね。

通常の Apacheのアクセスログは以下のような形ですが

192.168.0.1 - hoge [25/Apr/2000:19:50:32 +0900] "GET /wp/index.php HTTP/1.0" 200 1234 "http://example.com/index.html" "Mozilla/5.0"

これを LTSV にすると以下のようになります。

host:192.168.0.1<TAB>ident:-<TAB>user:hoge<TAB>time:[25/Apr/2000:19:50:32 +0900]<TAB>req:GET /wp/index.php HTTP/1.0<TAB>status:200<TAB>size:1234<TAB>referer:http://example.com/index.html<TAB>ua:Mozilla/5.0

今までの combined ではただの値の羅列だったのがラベルが付くことによってプログラム上で処理しやすくなりますね。

詳しくは以下のエントリを・・・

Apache のログを LTSV 形式にする

Apache のログファイルの出力を変えるには、LogFormat と CustomLog の値を変更する必要があります。

#LogFormat は apache2.conf に
$ sudo vim /etc/apache2/apache2.conf
LogFormat "host:%h\tident:%l\tuser:%u\ttime:%t\treq:%r\tstatus:%>s\tsize:%b\treferer:%{Referer}i\tua:%{User-Agent}i" combined_ltsv

$ sudo vim /etc/apache2/sites-enabled/000-default
# CustomLog は virtualhost 内に
<VirtualHost *:80>
    DocumentRoot /home/ryomatsu/public_html/loumo.jp
    ServerName loumo.jp
    ErrorLog ${APACHE_LOG_DIR}/loumo.jp.error_log
    CustomLog ${APACHE_LOG_DIR}/loumo.jp.access_log combined_ltsv
</VirtualHost>

その後再起動したら LTSV 形式でログが出力されているはずです。

$ tail -f /var/log/apache2/loumo.jp.access_log
host:***.**.***.****     ident:- user:-  time:[25/Apr/2013:19:37:49 +0900]       req:GET /wp/archive/20130403225612/ HTTP/1.1    status:200      size:13353      referer:-       ua:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727 ; .NET CLR 4.0.30319)

試しに見てみたら IE6 だった・・・滅びろ!

ltsview でより見やすく

ltsview を使用すると項目ごとに改行されてより見やすく表示できます。

$ sudo gem install ltsview

$ tail -f /var/log/apache2/loumo.jp.access_log | ltsview
---
:host: **.*.***.***
:ident: ! '-'
:user: ! '-'
:time: ! '[25/Apr/2013:19:44:17 +0900]'
:req: GET /wp/archive/20080701175525/ HTTP/1.0
:status: '200'
:size: '13894'
:referer: http://www.google.co.jp/search?q=vim+%E4%B8%80%E8%A1%8C%E3%80%80%E6%94%B9%E8%A1%8C&num=50&lr=lang_ja&inlang=ja&hl=ja&ie=UTF-8&tbs=lr:lang_1ja&prmd=ivns&ei=aRN6Uf3HA-OO2gXPgIHQAw&start=50&sa=N
:ua: w3m/0.5.3

ログ見るときはこっちのほうが良いかな?縦に長いからすごい勢いで流れていきそうだけど。
しかし ua: w3m か、マニアックだな...。

既存の Combined Log を LTSV に変換する

現状自分のサイトではログを何かに使う事は全然無いんですが、そのうち何かに使うでしょう、きっと。

Sponsored Link

シェアする

フォローする