Yii2 - регистрация 500 ошибок на производстве - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь отладить внутреннюю ошибку сервера в рабочей среде, в которой работает Yii2.

Чтобы сделать это, я добавил EmailTarget в свой файл конфигурации следующим образом

if(!YII_DEBUG){
    $logTarget[] = [
        'class' => 'yii\log\EmailTarget',
        'mailer' =>'mailer',
        'levels' => ['error'],
        'message' => [
            'from' => ['mail@example.com'],
            'to' => ['mymail@example.com'],
            'subject' => 'Log',
        ],
        'categories' => [
            'yii\db\*',
            'yii\web\HttpException:*',
        ],
        'except' => [
            'yii\web\HttpException:404',
            'yii\web\HttpException:403',
            'yii\web\HttpException:401'
        ]
    ];
}

, затем

    'log' => [
        'traceLevel' => 3,
        'targets' => $logTarget,
    ],

Я не получаю 500 ошибок, хотя.Я делаю что-то неправильно?Или 500 ошибок не зарегистрированы по умолчанию

1 Ответ

0 голосов
/ 08 марта 2019

Итак, наконец-то все заработало. По-видимому, 'categories' здесь заблокировало 500 ошибок от отправки, вероятно, так как большинство 500 ошибок принадлежат yii\base\Excetion, а не yii\web\HttpException. Так как по умолчанию, если не ставится 'categories', все ошибки включены, просто удаление этого из массива решило проблему.

Мой фиксированный массив:

if(!YII_DEBUG){
    $logTarget[] = [
        'class' => 'yii\log\EmailTarget',
        'mailer' =>'mailer',
        'levels' => ['error'],
        'message' => [
            'from' => ['mail@example.com'],
            'to' => ['mymail@example.com'],
            'subject' => 'Log',
        ],
        'except' => [
            'yii\web\HttpException:404',
            'yii\web\HttpException:403',
            'yii\web\HttpException:401'
        ]
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...