固定フォーマットしかサポートしないけど、Plack::Middleware::AccessLogより軽い PM::AxsLogがLTSVフォーマット形式のログに対応しました

https://metacpan.org/release/KAZEBURO/Plack-Middleware-AxsLog-0.03

PM::AxsLogについては Perl 2012 advent calendar hacker に書いてます。

AxsLog - Yet Another AccessLog middleware - Perl Advent Calendar Japan 2012 Hacker Track

LTSVフォーマットについては次のページを参考にしましょう

Labeled Tab-separated Values

【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリー

使い方

ltsvオプションを有効にします。response_timeオプションも有効にしていると、takenという値が追加されます

use Plack::Builder;
builder {
    enable 'AxsLog', ltsv => 1, response_time => 1,
    $app;
}

出力されるログは次のようになります

host:127.0.0.1  user:-  time:[08/Feb/2013:14:17:53 +0900]   req:GET / HTTP/1.1  status:200  size:6  referer:-   ua:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17  taken:41
host:127.0.0.1  user:-  time:[08/Feb/2013:14:17:53 +0900]   req:GET /favicon.ico HTTP/1.1   status:200  size:6  referer:-   ua:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17  taken:36

目grepがcombinedに最適化されてると一瞬迷いそうです

このブログ記事について

このページは、Masahiro Naganoが2013年2月 8日 14:28に書いたブログ記事です。

ひとつ前のブログ記事は「数字を出力するコマンドを定期的に実行して、秒間の変化量を memcachedプロトコルで取れるサーバを書いた」です。

次のブログ記事は「Nagiosのcheck_snmpプラグインの --rate オプションを試す」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja