(View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide)
[blog] [ML] [todo] [CVS] [bug] [apache log] [swiki log] [statistics] [map] [man] [info] [アンテナ]

swikiサーバーのログもWebalizerでログ閲覧できるようにする

ComSwikiでもアクセスログが取得できます。
設定者用のページで、各swikiにログ設定があり、これをindividual(swiki毎)あるいは
site(全swiki)に設定すると、該当パスにlog.txtが生成されます。

まず、始めにApacheの標準ログフォーマット(CLF)とswikiのログフォーマットが同一か
否か調べる必要があります。


ログファイルの問題(ログファイルの実装と後処理問題)があるので、swikiの
アクセスログを解析するときは、下記操作を行う必要があるようです。
  1. swikiを停止。
  2. ログを解析。現行のログをローテーション。
  3. swiki再起動。

上記指針でスクリプト書きました。

ChangeSwikiLog.rb
ConvertTable.conf

上記スクリプトには不具合があります。
具体的には、
     if tmp2.size() != 3 then
        date1 = tmp1 + "0" + tmp2 + tmp3
      end
とあるところの、!= 3が間違いで、!= 2でした。

この場合でもうまく動かないことが判明しました。
ですので、さらに
正規表現の部分
([0-9].) を ([0-9]+)

     if tmp2.size() != 3 then
        date1 = tmp1 + "0" + tmp2 + tmp3
      end
の部分を
        date1 = tmp1 + format( "%02d", tmp2 ) + tmp3
になおしてください。

いまだ、うまくいっていません。もう少し研究の余地がありそうです。
うまくいくようになりました。
あとはスマートさの追求です。

-----------

Syslog使うべきだった編

よくよく考えてみれば、Syslogにログ出せばスマートになることに
遅ればせながら気づく。
Squeakでどうやってやればいいか目論見中だ。

現況報告



-----------

Links to this Page