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

时间:2018-09-24 16:18:10

标签: symfony exception command-line

我尝试在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 }

此治疗的标签是什么?

1 个答案:

答案 0 :(得分:3)

正确的配置是这样:

kernel.event_listener:
        class: App\Application\EventListener\ExceptionListener
        arguments:
            - '@logger'
            - '@jms_serializer'
            - '@translator.default'
        tags:
            - { name: kernel.event_listener, event: console.error }

您的异常侦听器:

namespace App\EventListener;

use Symfony\Component\Console\Event\ConsoleErrorEvent;

class ExceptionListener
{
    public function onConsoleError(ConsoleErrorEvent $event) {
        // your code here
    }
}