0

私のアプリケーションには、ビジネス ロジックの一部として例外をスローする場所がいくつかありますが、Symfony2 で例外を生成してログに記録する必要はありません。

たとえば、ユーザーが一時的に実行できないアクションを試みた場合、$this->createAccessDeniedException() を呼び出して適切なエラー メッセージを表示します。これはアプリケーションの障害ではなく、ログに記録する必要はありません。ほとんどの場合、「後でもう一度やり直すか、この他の手順を最初に完了してから」というユーザーへのメッセージです。

特定のケースをログに記録しないように教えることはできますか、それとも例外をうまく使用していませんか?もしそうなら、代わりに何をすべきですか?

更新:私の設定:

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      grouped
        grouped:
            type:       group
            members:    [streamed, buffered]
        streamed:
            type:       stream
            path:       %kernel.logs_dir%/%kernel.environment%.log
            level:      debug
        buffered:
            type:       buffer
            handler:    swift
        swift:
            type:       swift_mailer
            from_email: xxx@xxx.xxx
            to_email:   xxx@xxx.xxx
            subject:    "Error"
            level:      info
4

1 に答える 1

0

でわかるように、ExceptionListenerAccessDeniedException通常の例外として記録されるのではなく、DEBUG レベルの特別なメッセージとして記録されます。

運用ログ ファイルにこれらのメッセージが表示されている場合は、Monolog に設定されている最小レベルを確認する必要があります。注意を設定することをお勧めします。

于 2014-06-01T17:28:29.720 に答える