必要なことを行うために symfony アプリでログを構成する方法を理解するのに苦労しています。ハンドラーとチャネルの違い/関係がわかりません。私は私の中に次のものを持っていますconfig.yml
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
dynamic_request:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_dynamic.log"
level: debug
次に、これを私のservices.yml
jsonstub.dynamic.response_provider:
class: ProgrammingAreHard\JsonStub\CoreBundle\Domain\Dynamic\EventListener\DynamicResponseProvider
arguments:
- @security.context
- @logger
- %kernel.environment%
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onAuthentication }
- { name: monolog.logger, channel: dynamic_request }
望ましい動作は、ログのみ error
がログに記録されることであり、そのログに%kernel.logs_dir%/%kernel.environment%.log
ロガーを挿入したいと考えています。ドキュメントは私を混乱させます。次のように述べています。DynamicResponseProvider
%kernel.logs_dir%/%kernel.environment%_dynamic.log
configuration defines a stack of handlers which will be called in the order where they are defined
これは、dynamic_request
ハンドラーが定義されているため、デバッグ ログがここに記録されるということですか? それは私の望ましい行動ではありません。私が望むのは、DynamicResponseProvider
そのハンドラーのみを使用することです。どうすればこれを達成できますか?