DBTarget Yii2 前后端日志区分

Differentiate between Frontend and Backend Logs in DBTarget Yii2

  1. 我正在使用现有的 Yii 日志登录 Db API。

  2. 但我想区分数据库中的前端日志和后端日志。

  3. 出现的一切都是两者的共同点,我很难跟踪前端日志。

下面是数据库日志的图片,其中绿色标记为后端日志,红色标记为前端日志。

您可以为此使用 prefix 属性。这是可调用的 returns 一个字符串作为前缀到每个带有签名 function ($message).

的导出消息

默认使用 getMessagePrefix(),在消息前加上用户 IP、用户 ID 和会话 ID。

您可以用它来添加 frontendbackend

感谢@Bizley!

backend/config/mainfrontend/config/main里面,我配置如下;这就是我对前端的整个日志配置的样子(同样你可以为后端做);

'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\DbTarget',
                    'levels' => ['error'],
                    'prefix' => function ($message) {
                        return "[Frontend]";
                    },
                ],
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error','info'],
                ],
            ],
        ],

下面是 UI 上的日志视图。在 Prefix 的帮助下,我现在可以轻松区分频道。