[ 先頭 | 上へ |
前へ | 次へ |
目次 | 索引 ]
エラーと警告
この章は、analogが生成する全てのエラーと警告についての出力を、短い説明と一緒に一覧にして見せます。
始めに、クラッシュ、エラー、警告とデバッグ用メッセージの違いを理解してください。最初にクラッシュは、analogが全出力ファイルを生成しないで、早めに終了してしまうことです。システムはメッセージを出力するかもしれませんが、analogはそれ自身の出力を何らしません。analogはクラッシュしないはずです。もしクラッシュしたなら、私に報告をしてください。
エラーは、analogが仕事を終了するのを妨げる何かのことです。エラーが起きたときには、analogは analog: Fatal error: という言葉で始まるメッセージを出力し、何が起きたかをあなたに告げるでしょう。
警告は、analog にとっては致命的ではない問題のことです。analog は動作しつづけるでしょう。これらは、ファイルが見つからないという危険なものから、単純に報告というものまであります。これらは、analog: Warning という言葉から始まるメッセージを出力します。注意の出力を止めるには、WARNINGS というコマンドを使えばできます。
最後に、デバッグのメッセージはプログラムの状態についての情報を与える。その情報は、1文字とコロンで始まる。デバッグをオン にしない限り、デバッグメッセージは得られない。
モニターの代わりにファイルにこれらのメッセージを保存しようとするなら、ERRFILE というコマンドを用いれば良い。モニターにこれらのメッセージを表示する文字幅を決めるには、ERRLINELENGTH というコマンドを用いれば良い。
さてこれから全ての可能な エラー と 警告 の詳細を述べよう。
- Ran out of memory: cannot continue
- analogはメモリを使い果たしてしまった。もし OS が許すなら、analog が使え
るメモリを増やしてみよ。
あるいは、LOWMEM コマンドを使って
見よ。
- Cannot ignore mandatory configuration file
- Readme の
義務的な環境設定ファイル(mandatory configuration file)について
の章を見よ。
- Can't find language file
Language file too short
Language file contains excessively long lines
- analog は正しい書式の言語ファイルを用いないと動作できない。
言語ファイルについての記述を見よ。
- Attempted to read more than 50 configuration files
- これに対する最も可能性の高い説明は、
CONFIGFILE を用いて
あなたが偶然無限ループを作ってしまったことです。例えば、環境設定ファイル
がまた自分自身を含んでいるという場合です。
- Incorrect default given in anlghead.h
Default given in anlghead.h too short
- あなたがコンパイル時に、anlghead.h のファイルに誤った環境を
設定したとき、analog はあなたにそれを直せと告げている。
- Failed to open output file for writing
- analog はあなたが指定した出力ファイルを作れないか、書き込むことができない。
- Cache output file already exists: won't overwrite
- analog は古いキャッシュファイルを上書きできない。まずそのファイルを移動
させるか、削除しなければならない。
- OUTFILE and CACHEOUTFILE are the same
- OUTFILE and CACHEOUTFILE both set to stdout
- これはあなたが望むことではないはずである。なぜなら、一方のファイルは他方
のファイルを上書きしてしまうからである。
- OUTPUT NONE and CACHEOUTFILE none selected
- 出力をしないことを選択したことになっている。
注意は致命的ではないことを覚えて置いてください。実際いくつかの注意はほとんど問題にならない。注意のメッセージを抑制する (止める) ためには、
WARNINGS というコマンドを使えばよい。注意は幾つかの異なる種類に分類され、注意のメッセージ中の1文字で表される。分類は以下に与えられる。
- C
- 不正な設定がされた。
- D
- 疑問のある設定がされた。
- E
- コマンド ERRFILE が使われた
- F
- ファイルが無いか壊れている。
- L
- ログファイルに明らかな問題がある。
- M
- ログファイルに多分問題がある。
- R
- 空のレポートの出力を止める。
この分野の警告は、不正な設定を意味する。analog はあなたの設定を無視するか、その設定で可能な限りベストを尽くす。この分野の警告を網羅するには、あまりにも数が多すぎる。エラーメッセージを与えたその特別な 設定コマンドcommand についての記述を参照すべきである。以前のバージョンの analog で動作したコマンドがエラーを出力した場合には、
古いバージョンからの改訂 を参照すること。
この分野は、意図したとおりに動作せずに設定が疑わしいときの警告である。analog はこの場合、勝手にあなたの設定を無視することはない。
- LOGFORMAT with no subsequent logfile
- LOGFORMAT コマンドを設定したが、その設定を行うログファイルが
見当たらない。多分あなたは、 LOGFILE コマンドの後に
LOGFORMAT コマンドを設定したはずである。あなたは、
LOGFILE コマンドの前に LOGFORMAT コマンドを設定
するか、代わりに DEFAULTLOGFORMAT コマンドを使いなさい。
詳細については ログの書式指定
についての章を参照しなさい。
- Offset not a multiple of 30
Offset more than 25 hours
- 時刻のオフセット は、時間帯の時差を
修正する意味である。この時間差は、通常−25から+25時間の間であり、
それは30分の整数倍である。多分あなたは、オフセットを誤って分の代わりに
時間で設定したと思われる。
- FROM time is later than the present
- 通常これは、どの項目も計数されないことを意味する。analog は、あなたの
コンピュータあるいはサーバの時刻が間違っている場合には、修正しようとし
ません。あなたは、コマンド
TIMEOFFSET または
LOGTIMEOFFSETを使用して
時刻を修正するべきです。
- SORTBY doesn't match FLOOR
SORTBY doesn't match SUBSORTBY
(or FLOOR/SUBFLOOR)
SORTBY (or FLOOR or GRAPH) isn't
included in COLS
- 1つのレポート内で、整理(sort)と階層(floor)が 両立していることは
必要なことであり、それら全ては COLS に含まれるべきである。
(時刻と関連の無いレポート につ
いての章を参照せよ。)
- Column N with SORTBY ALPHABETICAL/RANDOM
- 項目が忙しさの順番に並んでないのに、番号がついているのは多分誤りである。
- Time reports have not all got same value of BACK
- 通常全ての 時刻レポート が同じ時間の向
きに動作しているのは見やすい。
- Report contains no COLS
- 1つのレポートに対して空の COLS の一覧が得られた。単に一覧名
が並んでいるだけであり、それらについての情報は何も得られていない。
- LOWMEM 3 prevents that item being cached
- キャッシュファイル が作成されているが、1つの項が、
LOWMEM コマンドのために記録されて
おらず、従ってキャッシュファイルに保存されない。
この分野にはたった1つの警告がある。
- Redirecting future diagnostic messages
- エラー、警告、デバッグそれに PROGRESSFREQ の診断の出力先を変更
するために ERRFILE コマンドが使われている。この警告は、あなたが
それらのメッセージを見過ごさないようにするためのものである。
この分野は、開いたり読んだりするのに失敗したファイルを診断するためのものである。これらは深刻なものであるが、大部分のメッセージは読めば分かるはずである。特に以下に挙げる2つのメッセージは説明するに値するものである。
- Can't auto-detect format of logfile
- LOGFORMAT コマンドは自動認識に設定
されているが、ログファイルの最初の行がどの標準書式にもなっていない。
このエラーは、あなた自身の設定した LOGFORMAT を
LOGFILE コマンドの後ろに置き、そのためそのログファイル中では
有効にならない場合にしばしば起きる。
- DNS lock file already exists
- 2個の analog が同時に DNS ファイルに書き込むのを防ぐために、空の
"ロックファイル" が作成され、2番目の analog に
DNS WRITE の代わりに、DNS LOOKUP を使うように指示
する。もし analog がクラッシュしたとき、ロックファイルが削除されない場合
がある。そのためもし他の analog が動作してないにもかかわらず、あなたが
"already exists" ("すでに存在する" )メッセージを
受けたなら、あなた自身でそのロックファイルを削除するする必要がある。
analog がログファイルを読み込んだとき、そのログファイルに何か誤りがあるかどうか
を確認する。
- Large number of corrupt lines
- これはログファイルか LOGFORMAT
の書式に問題があることを示している。その理由として、
ログファイルの選択
についての章に可能性が述べられている。
- Logfiles overlap: possible double counting
- 同じ項目を勘定している2個のログファイルにおいて、その項目の時刻が同じで
ある。多分あなたは同一の2個のログファイルを読み込んでいるか、あるいは
LOGFORMAT の設定で、
analog が幾つかの項目を無視するように指示するべきであった。あるいは、
2個のログファイルは実際異なるものであり、問題はどこにも存在しなかった。
analog はログファイルの時刻を確認するだけで、それらの詳細については確認
しない。この最後の場合には、生成された統計は依然として正しい。
この分野は、analog が予期しない結果を生成するかもしれないログファイルの書式
についての警告である。
- Logfile contains lines with no [whatevers], which are being
filtered
- この注意は通常害は無い。これは多分例を挙げればうまく説明できよう。
あなたがあるファイルを解析の対象から 除外 し
ているが、どのファイルをブラウザーが読んでいるかではなく、使用されている
ブラウザーについての情報を含んでいるブラウザー・ログも解析しているとしよ
う。このとき、除外されているファイルを読んでいるブラウザーを除外すること
はできない。なぜなら、どのブラウザーが何をしているかは分からず、従って
全てのブラウザーが解析に含まれてしまうからである。
- Logfile contains lines with no file names (or bytes): page (or byte)
counts may be low
- もしログファイルがファイル名を含んでいないときには、analog はリクエスト
はページを要求しているのではないと仮定する。同様に、転送されたバイト数
が与えられていない場合には、analog は転送データ量をゼロバイトと仮定する。
従って、その行に記述されていない他の項目に依存する、ページのリクエスト数
あるいはバイト数は、低く見積もられる。
この警告は、analog が空のレポートを止めたときに現れる。どのログファイルにも適切な項目が含まれていないからかもしれないし、
LOWMEM コマンドがそれらの項目の記録を禁止しているからかもしれない。
これは analog が生成した注意ではないが、analog がもはや必要としないと判断して、ログファイルの全部を読まずに閉じていることに、起因していると考えられる。
Stephen Turner
analogについての質問はanalog-helpの
メーリングリストを読んでください。
[ 先頭 | 上へ |
前へ | 次へ |
目次 | 索引 ]