そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

analogでログフォーマットを修正

Apache httpdを普通に使用しているとデフォルトの
ログフォーマットで使用できるが、フォーマットを変えていたり、
違うアプリケーションを使っているとエラーになります。

フォーマットの変更の仕方は、
次を見ると普通にやりたいことはできました。

ログファイルのフォーマット
http://www.jp.analog.cx/jp5.911/logfmt.html

ただし、はまったのがコマンドの引数でログファイルを渡した場合、
analog.cfgに記述したLOGFORMATが効かないでいろいろフォーマットを
変えてみてもエラーになったこと。

LOGFORMATをLOGFILEよりも先に書かないと行けないのは気づいていたのですが、
コマンドラインでどのファイルを使用するかを指定して実行する場合に、ダメでした。
マニュアルにちゃんと記述あり。

LOGFORMAT と APACHELOGFORMAT コマンドは、同じ 設定ファイル内で、このコマンドよりも後に記述された LOGFILE コマンドで指定されるログファイルにのみ適用されます。そのため、LOGFORMAT コマンドは、記述を適用させたい LOGFILE コマンドよりも先に記述する必要があります。ログファイルをコマンド行で指定するか、Mac の場合にはアプリケーションの上にドラッグするときには、DEFAULTLOGFORMAT か APACHEDEFAULTLOGFORMAT を使う必要があります。以下のように記述することで、複数のログファイルに対して、異なるフォーマットを適用することが可能です。

ということで、コマンドラインでログファイルを指定する
代わりに設定ファイルで指定することで解決。