Analog 5.91beta1: 出力の設定XHTML が初期設定になり、XTML 1.0 の Web ページを生成します。 HTML は HTML 2.0 準拠の Web ページを生成します。
PLAIN はプレインテキストファイルを生成し、ASCII は基本的に PLAIN と同様ですが、可能な限り ASCII 文字のみを使う点が異なります (アクセント文字などが入りません。例えば、これらの文字はメールでは文字化けを起こします)。 (これは、アプリケーションによってはアクセントのついた文字を認識しないものがあるためです。例えば、電子メールで送信を行なう場合、これらの文字を使うと文字化けが発生することがあります。)
LATEX は LaTeX 形式のファイルを生成します。pdflatexコマンドがインストールされていれば、このファイルを PDF 形式に変換することができます。 (通常の latex コマンドを使う場合には、 PDFLATEX OFF を指定して下さい。) この引数は、特定の欧米の言語(US-ASCII、ISO-8859-1、ISO-8859-2 の文字セット)でしか使えません。ときどき、overfull hboxes の警告が出力されるのは承知の上です。
COMPUTER はコンピュータで処理を行なうのに適した形式になります(表計算ソフトウェアや画像生成ソフトウェアなどに読み込ませるのに適しています)。 この形式については、後ほど別の章で説明します。
XML は XML 形式で出力してくれます。これは後処理に適した出力です。XML 出力用の DTD はプログラムと一緒に配布されています。XML 出力や後処理プログラムの例についてのより詳細な情報は http://timian.jessen.ch/ から得られます。
コマンドで
OUTPUT PLAINと記述するように、コマンドライン引数の+aによって、PLAIN形式を指定することができます。また、コマンドライン引数で-aを指定すると、XHTML形式で出力が行なわれます。 -a.
また、cache fileを生成する場合に、OUTPUT NONEを記述することで、出力を抑止することもできます。
LANGUAGE FRENCHにより、出力に用いる言語としてフランス語が指定されます。 現在指定可能な言語は以下のとおりです: ARMENIAN、BASQUE、BULGARIAN(Windows-1251)、 BULGARIAN-MIK(MIK-16)、CATALAN、 SIMP-CHINESE (GB2312)、TRAD-CHINESE(Big5)、 CZECH(ISO Latin 2)、CZECH-1250(Windows-1250)、 DANISH、DUTCH、ENGLISH、 US-ENGLISH、FINNISH、FRENCH、 GERMAN、HUNGARIAN、INDONESIAN、ITALIAN、 JAPANESE-EUC(EUC-JP)、JAPANESE-JIS(ISO-2022-JP)、 JAPANESE-SJIS(SJIS)、JAPANESE-UTF(UTF-8)、 KOREAN、LATVIAN、NORWEGIAN(Bokmål)、 NYNORSK、POLISH、PORTUGUESE、 BR-PORTUGUESE、RUSSIAN(KOI8-R)、 RUSSIAN-1251(Windows-1251)、SERBIAN、 SLOVAK (ISO Latin 2)、SLOVAK-1250 (Windows-1250)、 SLOVENE(ISO Latin 2)、 SLOVENE-1250(Windows-1250)、SPANISH、SWEDISH、 SWEDISH-ALT(alternative translation avoiding Anglicisms xxxxx)、 TURKISH、UKRAINIAN
以下の言語は以前のバージョンの Analog では使えましたが、またバージョン 5 に対応した翻訳が行なわれていません: BOSNIAN、CROATIAN、GREEK、 ICELANDIC、LITHUANIAN、ROMANIAN、 これらの言語も速やかに利用できるようになるとよいと思っています。利用可能になったものは、 Analog のホームページ に追加されます。 もしこれらのうちのどれか(あるいは他の言語)に翻訳してもらえばとても嬉しいです。以下をご覧下さい。
もう一つの言語を指定する方法は、LANGFILEコマンドです。 これは、Analog のホームページから新しい言語をダウンロードして使ったり、自分自身で行なった翻訳を使ったり、出力される語句やフレーズ、もしくは日付や日時の形式の一部を変更して使ったりする場合に便利です。 LANGFILE コマンドは、Analog に、新しい言語のキーワードやフレーズを記述したファイルを読み込ませます。例えば、以下のコマンド
LANGFILE guarani.lng # もしくは LANGFILE /usr/etc/httpd/analog/lang/guarani.lngにより、指定した言語ファイルが読み込まれます。 ファイル名にディレクトリが含まれていない場合、Analog は特定の場所にある言語ファイルを探して読み込もうとします。
言語によっては、ドメインファイル やレポート記述ファイルを指定することもできます。これらのファイルは、通常LANGUAGE コマンドによって自動的に選択されます。しかし、DOMAINSFILE や DESCFILE コマンドを使って、Analog に別のファイルを使わせることもできます。またフォームインタフェース や設定ファイルの翻訳版がある言語もあります。
ここに挙げた以外の言語の翻訳を行なっていただけるのであれば、非常に感謝します。他に同じ言語を翻訳している人がいないかどうかを確認する意味で、まずはわたしに連絡をしてください。 language ディレクトリにあるREADME.txtファイルと英語版の言語ファイルに、新しい言語の翻訳を行なう際の簡単な手引きが含まれています。
同様に、すべての言語をわたし一人でチェックすることはできませんので, 英語以外の言語の出力に誤りを見つけたときは、わたしに知らせて下さい。
OUTFILE stats.htmコマンドライン引数で同様のことを行なう場合は、+Ostats.htmになります。 ファイル名として- や stdout を記述した場合、出力は標準出力に対して行なわれます。標準出力は通常画面になっていますが、UNIX のユーザは、これを別のファイルやパイプなどにリダイレクトして使うことでしょう。なお、ここでも以下のような絶対パス名を使うことができます。
OUTFILE /usr/bin/httpd/htdocs/stats.html # Unix OUTFILE "Hard Disk:Server Apps:WebSTAR:Analog:Report.html" # MacOUTFILE コマンドで指定された出力ファイル名にディレクトリ名が含まれていない場合、 Analog は、特定の場所 (この場所はコンパイル時のオプションです) に出力ファイルを作成しようとします。 例えば、 Windows 版の場合、これは Analog の実行ファイルと同じフォルダになります。ただし、コマンドライン引数で+Oを指定した場合、ファイルはカレントディレクトリに作成されます。
LOGFILEと全く同じ方法で、OUTFILE中に日付を含めることも可能です。 例えば以下の記述
OUTFILE stats%y%M%D.htmlにより、stats990501.htmlのようなファイル名が生成されます。 LOGFILEコマンドの場合、この日付は、 TO が指定されていた場合はその日付を示し、それ以外の場合はプログラムが起動した日付を示します。
x GENERAL 全体の概要 1 YEARLY 年別レポート Q QUARTERLY 4半期別レポート m MONTHLY 月別レポート W WEEKLY 週別レポート D DAILYREP 日別レポート d DAILYSUM 曜日別集計 H HOURLYREP 時間別レポート h HOURLYSUM 時間別集計 w WEEKHOUR 曜日別時間集計 4 QUARTERREP 15分間隔レポート 6 QUARTERSUM 15分間隔集計 5 FIVEREP 5分間隔レポート 7 FIVESUM 5分間隔集計 S HOST ホストレポート l REDIRHOST ホストリダイレクションレポート L FAILHOST ホスト不成功レポート Z ORGANISATION 組織レポート o DOMAIN ドメインレポート r REQUEST リクエストレポート i DIRECTORY ディレクトリレポート t FILETYPE ファイル種類別レポート z SIZE ファイルサイズレポート P PROCTIME 処理時間レポート E REDIR リダイレクトレポート I FAILURE 不成功レポート f REFERRER リンク元レポート s REFSITE リンク元サイトレポート N SEARCHQUERY 検索語句レポート n SEARCHWORD 検索語レポート Y INTSEARCHQUERY 内部検索語句レポート y INTSEARCHWORD 内部検索単語レポート k REDIRREF リダイレクトされたリンク元URLレポート K FAILREF 不成功リンク元レポート B FULLBROWSER ブラウザーレポート b BROWSER ブラウザーの概要 p OSREP OSレポート v VHOST 仮想ホストレポート R REDIRVHOST 仮想ホストリダイレクションレポート M FAILVHOST 仮想ホスト不成功レポート u USER ユーザレポート j REDIRUSER ユーザリダイレクションレポート J FAILUSER 不成功ユーザレポート c STATUS 状態コードレポート各レポートの詳細な意味やそれらを制御するコマンドの一覧などについては、Analog のレポートの章を参照してください。
以下のようなコマンドを使うことで、各レポートを表示させたり、表示を抑止させたりすることもできます。
FIVEREP OFF REFSITE ONコマンドライン引数で同様のことを行なう場合は、-5や+sのように指定します。 また、全体の概要レポートを除くすべてのレポートについては、ALL ON と ALL OFF コマンドや、コマンドライン引数の +A と -A によって、表示させたり、表示を抑止したりすることもできます。
DESCRIPTIONS OFFなお、DESCRIPTIONS が ON であっても、Analog が指定された言語の report description ファイルを読み込むことができるか、以下のようにDESCFILE コマンドを使って読み込むファイルを指定しない限り、実際の表示は行なわれません。
DESCFILE descriptions.txtdescription ファイルのファイル名にディレクトリ名が含まれていない場合、 Analog は、特定の場所にある言語ファイルを読み込もうとします。
出力中にある「Go To」行については、以下のコマンドで表示を抑止することができます。
GOTOS OFFGOTOS ON は表示を行なうようにし、GOTOS FEW は「Go To」行をページ先頭と最後のみに表示します。GOTOS OFFはコマンドライン引数の -Xで指定することもでき、同じくGOTOS ONは+Xで指定できます。
ページ先頭の "Program started at" 行とページ最後の "Running Time" 行の表示を抑止するには、以下のコマンドを使います。
RUNTIME OFFまた表示するようにするには、RUNTIME ONを記述します。
全体の概要レポート中では括弧の中に最近1週間の状態が表示されます。最近1週間とは、TO が指定されていれば、それ以前の1週間、もし指定されていない場合はプログラムが起動した時刻以前の1週間を示します。最近1週間の値は、通常その期間中に特定のリクエストが発生した場合に表示されます。ただし以下のコマンド
LASTSEVEN OFFにより、表示を抑止することもできます。もちろん、LASTSEVEN ONにより、表示させることもできます。
REPORTORDER コマンドにより、レポートの順序を変更することも可能です。この際すべてのレポートのコード文字を表示させたい順序に並べかえる必要があります。アルファベットと数字以外の文字は無視されるため、そうした文字をセパレータとして使うことができます。以下に例を示します。
REPORTORDER x-1QmdDhHw4567W-cPz-ritEIYy-SlLZo-sNnfKk-ujJ-vMR-bBp
GENSUMLINES ALLで、これは表示可能な行すべてを表示するという意味になります。 (しかし、ログファイルに含まれる情報を表す適切な行のみが常に表示されます) 以下のようにコマンドを記述することで、特定の行を日表示にすることも可能です。
GENSUMLINES -KL(K と L の行が非表示になります) 再度表示させるためには、以下のようなコマンドを記述します。
GENSUMLINES +K以下のようにコマンドを記述することで、表示させる行すべてを明示的に指定することもできます。
GENSUMLINES CDFGHM後は、どの行がどのコード文字に対応しているかを知れば良いだけです。以下の表を参照してください。
IMAGEDIR img/ # 相対 URL 指定: 出力ファイルの位置が基準 IMAGEDIR /img/ # サーバ上のルートディレクトリからの絶対パス指定 IMAGEDIR http://www.myother.server.com/img/ # 別のサーバ上のファイルを指定IMAGEDIRについて混乱する人もいるようですが、これは出力ファイル中の「img」タグ内に反映されます。実際に出力ファイルの HTML ソースを確認すれば、この設定の意味が理解できるでしょう。
以下のコマンドを記述することで、棒グラフの画像として PNG ファイルの代わりに GIF ファイルを使うことができます。
PNGIMAGES OFFPNGIMAGES の設定は pie chart に対しては無効です。このコマンドの設定に関わらず、pie chart は常に PNG を利用します。ただし、JPEGCHARTS コマンドにより pie chart の出力形式を PNG 以外にすることは可能になっています。
LOGO picture.gif # for this file LOGO /images/picture2.gif # a different file LOGO none # ロゴを使わないロゴファイルの指定が絶対パスか :// を含む表記でない場合、ファイルは IMAGEDIR ディレクトリ内にあるとみなされます。
LOGOURL はロゴファイルのリンク先 URL を指定するコマンドです。もし LOGO の指定を変更したなら、おそらく LOGOURL の指定も変更することでしょう。例えば、以下のようにします。
LOGOURL http://www.mycompany.com/ LOGOURL none # リンク無しの場合LOGOURL コマンドは XHTML 出力形式のときのみ有効であり、HTML 2.0 のときではありません。
タイトルの最後に現われるサイト名とそのリンクの設定を行なうコマンドとして、HOSTNAME と HOSTURL というコマンドが用意されています。例えば以下のように記述することで
HOSTNAME "Stephen Turner" HOSTURL http://homepage.ntlworld.com/adelie/stephen/タイトル行は、「Web Server Statistics for Stephen Turner」となります(訳注: 日本語の言語ファイルを使っている場合は当然日本語で表示されます)。 これについても、HOSTURLにnoneを記述することで、リンクを作成しないことができます。通常 Analog は HOSTNAME に記述した文字を必要に応じて HTML に変換します。 そのため HTML のアクセント文字のような特殊な文字を記述する場合は、以下のように、それらの文字をバックスラッシュでエスケープする必要があります:
HOSTNAME "M\üller & S\öhne"
HEADERFILE noneと記述することで、それ以前に指定したファイルを無効にすることも可能です。 これについても、HEADERFILE や FOOTERFILE に記述したファイル名にディレクトリ名が含まれていなかった場合、Analog はファイルがプログラムのコンパイル時に指定されたディレクトリ内にあるものとして扱います。
STYLESHEET /housestyle.css STYLESHEET none # 上記を無効にします。XHTML 出力形式では、スタイルシートを指定すると初期設定を 置き換えて しまいます。したがって、初期設定をベースにしたいと思う方もおられると思います。 -- examples/css ディレクトリ中にベースとなる初期設定と他のユーザによるスタイルシートがあります。
XHTML 出力形式で使われるすべての CSS クラス名に接頭辞を付加する CSSPREFIX というコマンドがあります。このコマンドは他のスタイルシートとの競合を防ぐのに有用です。欠点は出力が長くなることです。例えば、
CSSPREFIX anlg CSSPREFIX none # 上記をキャンセルするもちろんもし自分自身のスタイルシートを使うなら、スタイルシート中のすべてのクラス名に CSSPREFIX で接頭辞を付け加える必要があります。
SEPCHAR " " REPSEPCHAR none DECPOINT ,これにより、「三千と四分の一」は、通常「3 000,25」のように表示され、レポート中では「3000,25」のように表示されます。
RAWBYTESというコマンドがあります。 RAWBYTES ON と記述すると正確なバイト数が表示されますが、RAWBYTES OFF とすると、キロバイトやメガバイトといった単位で表示されます。
もし RAWBYTES が OFF (これが初期設定です) ならば、四捨五入して小数点以下何桁まで表示するかを指定する BYTESDP コマンドが使えます。初期値は2です。この場合 "91.26 キロバイト" のように数値を表示します。
このコマンドを使う際には注意が必要です。世界の様々な地域で夏時間が使われており、夏時間を適用する期間も様々です。そのため、Analog は時間帯の変換は行ないません。期間によって時刻を適切に調整する作業は、ユーザ側の責任で行なう必要があります。例えば、あなたはシカゴに住んでいるが、サーバは GMT で時刻を記録しているという場合、夏期にはマイナス5時間、冬期にはマイナス6時間の調整を行なう必要があります。この場合、ログファイルを適切な場所で分割した上で、以下のようなコマンドを記述する必要があるでしょう。
LOGTIMEOFFSET -300 LOGFILE summer*.log LOGTIMEOFFSET -360 LOGFILE winter*.log
関連するコマンドとして、TIMEOFFSETというものがあります。これは、現地時刻に調整するために、Analog を実行しているコンピュータ(Web サーバを実行しているコンピュータではなく)の時刻をどれだけ修正するかを設定するコマンドになります。
Stephen Turner
Analog についての質問はanalog-help メーリングリスト をお使いください。 (訳注: 日本では analog-jp メーリングリスト をご利用ください)