web-dev-qa-db-ja.com

私のApacheログファイルには、各行に「combinedio」しかありません

次のコマンドでApache2ログを表示しようとしました:

Sudo tail -100 /usr/local/Apache2/logs/thewebsitename.log

返されたのは100行で、各行に「combinedio」と表示されていました。ログを表示するにはどうすればよいですか?

1
Tyler Durden

Apacheの設定に問題があるようです。 Apacheの構成を修正して、正しくロギングを開始する必要があります。

「combinedio」は mod_logio を使用したロギング形式です。 ServerFaultを参照してください。 Apacheでのログ形式の結合と結合の違いは何ですか? Apacheの設定には次のような行があります。

CustomLog combinedio

Apacheがログ形式のニックネームであることを認識せず、単にすべてのヒットのリテラルとして「combinedio」を記録する原因となる問題があります。問題は次のいずれかです。

  • mod_logioがインストールまたは有効化されていません
  • combinedioログ形式が構成で定義されていません

そのモジュールを修正する方法を見つけ、そのログ形式を定義するか、別のログ形式に切り替えることができます。

Ubuntuサーバーでは、次を使用してmod_logioを有効にします。

Sudo a2enmod mod_logio

カスタムログディレクティブの前に行を追加して、ログ形式を定義できます。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" combinedio

または、CustomLogステートメントを、次のような既存のログ形式に変更できます。

CustomLog combined 

Apacheの構成を変更するときは、サーバーを再起動するか、次のようなコマンドを使用して構成を再読み込みする必要があります。

Sudo service Apache2 reload

管理対象サーバーまたは共有ホスティングを使用している場合、ホスティングプロバイダーはこれらの変更を行う必要があります。

1