Squid2.6 access.logをApahceのaccess_log風にする方法

スポンサーリンク

Squidが出力するaccess.log(/var/log/squid/access.log)の設定は以下の通り。

access_log /var/log/squid/access.log squid

access_log は「/var/log/squid/access.log」に【squid】のフォーマットで出力しろという設定です。

さて、この【squid】というフォーマットはどこで指定されているのでしょうか。

/etc/squid/配下にある「squid.conf.default」を見ると分ります。

# grep -B2 ^#logformat /etc/squid/squid.conf.default
#       The default formats available (which do not need re-defining) are:
#
#logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
#logformat squidmime %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt [%>h] [%<h]
#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st %Ss:%Sh
#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
#

the default formats available ( which do not need re-defining) といっているが、
私の場合、/etc/squid/squid.confにて

access_log /var/log/squid/access.log combined

とし、「squid -k check」したら以下のエラーになりました。
つまりディフォルトでは利用出来ない(=which DO NEED re-definingでした)ようです。

"Log format 'combined' is not defined"

おっかしーなー。
.defaultのファイルでは「do not need re-defining」と 書いてあるんですが、ディフォルトのままで
指定できたlogformatは「squid」 と「common」のみでした。もし、「combined」を有効にしたい場合は
.defaultファイルから一行をコピーし、/etc/squid/squid.confに書いてやってください。

#access_log /var/log/squid/access.log squid
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /var/log/squid/access.log combined

squid -k check で問題ないことを確認したら、
squid -k reconfigure で設定を読み込み直し、その後のaccess.logを観察しましょう。

以上

コメント

タイトルとURLをコピーしました