squid でログフォーマットを指定する方法は次の通り。
確認した squid のバージョンは 2.6.STABLE21 。
2.5.STABLE14 にはこのオプションは対応していない。
squid ではログのフォーマットを任意に指定することができる。
ログフォーマットを変更するメリットが一番あるのは、
ログに表示される時刻の部分。
デフォルトでは、ログの時刻表示がエポックからの累積秒数であり、
ログからイベントの時刻を判断することが困難。
時刻表示をローカルタイムに変更するには次のようにする。
/etc/squid/squid.conf にて、以下を変更。
設定項目 logformat の左から 3 項目目が時刻に関する指定。
エポックからの累積秒数: %ts.%03tu
ローカルタイム: %tl
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
変更後
logformat squid %tl %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
最後に squid のプロセスを再起動して変更を反映。
/etc/init.d/squid restart
この設定により、次のようになりました。
変更前
1242038493.075 760 192.168.1.1 TCP_MISS/200 5290 GET http://www.google.co.jp/ - DIRECT/66.249.89.104 text/html
↓
変更後
11/May/2009:20:14:17 +0900 476 192.168.1.1 TCP_MISS/200 5306 GET http://www.google.co.jp/ - DIRECT/66.249.89.147 text/html