現在、社内アプリをaspで作成し、IISログをW3C拡張ログファイル形式で
取得しています。このままログを取ると、グリニッジ標準時になり9時間の
時差が発生します。そこでconvlogコマンドで時差と形式をNCSAに変換し、
apache log viewerで確認しようとしましたが、9時間の時差の修正が思った
とおりにならず、[31/May/2006:06:09:03 +0900]と表示されます。
私のやりたいことは、[31/May/2006:15:09:03]と表示させたいのです。
どうしたら9時間の時差を修正することができるでしょうか。
変換前 W3C拡張ログ)
06:09:03 127.0.0.1 GET /AA/ 302
06:09:10 127.0.0.1 GET /AA/M010.asp 200
変換コマンド)
convlog -ie ex*.log -l1 -t ncsa:+0900
変換後 NCSA形式)
127.0.0.1 - - [31/May/2006:06:09:03 +0900] "GET /AA/ HTTP/1.0" 302 -
127.0.0.1 - - [31/May/2006:06:09:10 +0900] "GET /AA/M010.asp HTTP/1.0" 200 -
サーバータイムをローカルタイムに変換して表示する
オプションは有効ですか?
"サーバータイムをローカルタイムに変換して表示する"とは、apache log viewerのオプションのことでしょうか。これはチェックしてもしなくても変化がありませんでした。
#127.0.0.1 - - [31/May/2006:06:09:03 +0900]
convlogではローカルタイムに変換されていないのが
へんですね。
# GMTで変換
# savedirに変換して保存
convlog -ie ex*.log -t ncsa:+0000 -l1 -o savedir
# Apache Log Viewer
# サーバータイムをローカルタイム をチエック
#
# Apache Log Viewer は、V2.9.5ですか?
http://home.ns01.info/circle/ApacheLogViewer/download.html
#
V2.9.5でした。ちなみにそちらの環境では、
サーバータイムをローカルタイム をチエックで
+9時間されて表示されているのでしょうか。
convlogの変換なのかapache log viewerのオプションかそもそも考え違いしているのか
悩んでいます。
===========================================
convlog仕様
http://support.microsoft.com/default.aspx?scid=kb;ja;271196
で単に "+0900”を入れるだけなので嘘のローカル
時刻に変換されるのが正しいようです。
===========================================
NCSAだとローカル時刻で記録されているはずなので、
はじめだと
31/May/2006:06:09:03 +0900
この意味は、現在時刻は 日本の06:09:03 +09:00
の意味です。
従って +09:00されないのが正しい処理になります。
31/May/2006:06:09:03 +0000
にEditor等で置換してください。
正しく表示されます。
確かに、+0000だとオプションのチェックをオンオフするだけで、+9時間されていました。
どうやら、convlogの変換時に、+9000を外した
方がよさそうですね。ありがとうございました。
"サーバータイムをローカルタイムに変換して表示する"とは、apache log viewerのオプションのことでしょうか。これはチェックしてもしなくても変化がありませんでした。