web-dev-qa-db-ja.com

ドキュメントルート内のディレクトリのカスタムApacheエラーログ

私はこの問題に固執し、グーグルで調べていくつかの解決策を得ましたが、おそらく適切に機能していません。誰でもこの解決策を提供できますか、

Ubuntu 14.04マシンでApache2を実行しています。仮想ホストが1つだけ実行され、/var/www/htmlの下にドキュメントルートがあります。

Htmlディレクトリ内には、コードにサブディレクトリが含まれています。例えばdir1、dir2。エラーログは、dir1の下のコードに関連するすべてのエラーログがdir1内にあり、dir2でも同じであるようにカスタマイズする必要があります。

エラーログをカスタマイズするにはどうすればよいですか?

1
harsha

この投稿によると https://stackoverflow.com/questions/10395043/Apache-server-multiple-directories-different-error-logs

ErrorLogディレクティブはサーバー構成または仮想ホストコンテキストでのみ機能するため、エラーログに対しては実行できません。 setenvifモジュールが提供する機能でAccessLogを分離することが可能です。

別の方法として、そのようなことを試すことができます:

ErrorLog "|/usr/bin/tee -a ${Apache_LOG_DIR}/error.log /var/www/apachelogs/error.txt"

より洗練されたフィルタリングスクリプトを間に置くだけで、必要なものを達成することができます。

ちょっとしたピッキング、なぜコードでディレクトリにエラーログが必要なのでしょうか?これはセキュリティ上の脅威です。

1
mestia

仮想ホストで使用するだけです

ErrorLog error.log

また、エラーの原因となっているスクリプトが存在する同じフォルダーにエラーファイルを書き込みます。

のエラー

http://example.com/some/dir/test.php

エラーを書き込みます

/public_html/some/dir/error.log

0
Sunil Gautam

私はこれがあなたが望むものだと信じています:

SetEnvIf Request_URI ^/app/subapp1(/|$) subapp1
SetEnvIf Request_URI ^/app/subapp2(/|$) subapp2

CustomLog /absolute/path/to/app/subapp1/log/access_log common env=subapp1
CustomLog /absolute/path/to/app/subapp2/log/access_log common env=subapp2

ソース:

https://stackoverflow.com/questions/1460757/generate-access-logs-for-different-subdirectories-in-Apache

0
George Udosen