Symfony 4-控制台异常事件监听器

NBo*_*roy 2 command-line exception symfony

我尝试从Symfony 4项目中的Symfony控制台命令处理异常。

这是我在services.yaml中的事件监听器:

kernel.event_listener:
        class: App\Application\EventListener\ExceptionListener
        arguments:
            - '@logger'
            - '@jms_serializer'
            - '@translator.default'
        tags:
            - { name: kernel.event_listener, event: kernel.exception, method: onConsoleException }
Run Code Online (Sandbox Code Playgroud)

这种治疗的标签是什么?

iii*_*rxs 5

正确的配置是这样的:

kernel.event_listener:
        class: App\Application\EventListener\ExceptionListener
        arguments:
            - '@logger'
            - '@jms_serializer'
            - '@translator.default'
        tags:
            - { name: kernel.event_listener, event: console.error }
Run Code Online (Sandbox Code Playgroud)

和您的异常侦听器:

namespace App\EventListener;

use Symfony\Component\Console\Event\ConsoleErrorEvent;

class ExceptionListener
{
    public function onConsoleError(ConsoleErrorEvent $event) {
        // your code here
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的帮助@iiirxs (2认同)