0
私は最近、PSR-3
を読んで、ウェブアプリケーションやウェブサイト上でロガーの実装に近づく最良の方法について知りたいと考えています。私はロガーがどのように定義され、どのようにPSR-3ごとにどのように実装できるのか理解していますが、キャッチされた例外、注目すべきイベントなどさまざまなロギングのニーズに合わせて、PHPのアプリケーション/ウェブサイトでロガーにアクセスする最善の方法
これらの3つのオプションが思い浮かびました。それ以上はありますか?どのアプローチが最適ですか?
- グローバルオブジェクト -
$logger->debug('foo')
- グローバル静的インスタンス -
Logger::debug('foo')
- 方法のいくつかの種類を介した -
$app->getLogger()->debug('foo')
- ...等...私の配慮の
一つが維持されますロガーを最小限に参照するために必要なコードたとえば、上記のオプション3は、アプリケーション全体で適切なキャッチされた例外、注目すべきイベントなどのために、そのようなロガーを検索するのがむしろ面倒になるようです。
ご回答ありがとうございます。私は、依存性注入の利点と、異なるロガーを交換するのは容易だが、一方で、適用可能なキャッチされた例外/イベントごとにこの方法でロガーにアクセスしないと少し冗長になるだろうか? – reformed