ファイルまたは出力ストリームにエントリを追加するlogging libraryを書いています。ログに表示するファイルパスと行番号はどれですか?
エントリがログに追加されるときには、エントリを追加するために作成されたファイルや行番号などのコンテキスト情報も含まれます。
私の質問は:エントリを追加した呼び出しのファイルパスと行番号、またはイベントをトリガしてメッセージを記録する呼び出し元を使用する必要がありますか?
trigger.php:
<?php
class Do
{
public function something()
{
$this->log->add('Did something.', E_USER_NOTICE); # line 6
}
}
do.php
<?php
$do->something(); #line 2
今、メッセージは、 "何かをしました。" do.php行6からログされていると記録されています。メッセージがtrigger.php 2行目から来たと言うためにロギングクラスを変更する方が良いですか?いくつかの明確化
EDIT
。
- ライブラリには、ログエントリにコールスタック全体が含まれています。したがって、豊富な機能を備えたロギングクラスでは、上の例に含まれるものよりも多くのことが分かります。
- ライブラリはログレベルを使用し、不要なレベルをフィルタリングします。上記の例はそれを示していませんが、ライブラリ自体を見て確かに知ることができます。
残念ながら、このシナリオでメッセージがどのように表現されているかについては不明でした。この非常に小さなシナリオでは、1つのファイルパスと1つの行しか表示されません。 これは変更できないと仮定します、どのファイルパスと行番号が記録されますか?
ありがとうございました!
6行目で十分な情報が得られますか?それだけで行6と言う場合、どのようにそれがどこから呼び出されて知っていますか?Doクラスを複数の異なる場所で使用すると、常に6行目が非常に役に立つとは思われません。 – dm03514