php - Yii2 - 在生产中记录 500 个错误
问题描述
我试图在运行 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 个错误
解决方案
所以终于让它工作了。显然,'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'
]
];
}
推荐阅读
- python - 如何提高 pandas Pivot 速度?
- yarnpkg - 从 CodeArtifact 安装私有 npm 包失败,带有 yarn 和 yarn.lock 的“401 Unauthorized”
- python - 为什么计算机会生成这么多随机位置?
- azure - az acr build 要求
范围 - java - 如何正确设置此端点?
- tailwind-css - 尾风CSS | 如何在配置文件中设置正确的颜色以呈现为 RGB/RGBA
- angular - 计数行变量的值给我 undefined 虽然我分配了它?
- python-3.x - ModuleNotFoundError:没有名为“dotenv”的模块
- python - 如何在从 1 到 9999 的列表中查找有多少数字包含某个说 7) 整数
- node.js - 使用带有 nodejs 的 Rabbitmq 发送批量电子邮件(大约 50,000 个用户)