Yii2始终使用$ _COOKIE,$ _SESSION和$ _SERVER(类别过滤器无法正常工作)记录应用程序类别

Nat*_*ein 3 php logging yii2

我是Yii2的新手,我需要在发生一些操作后手动记录到数据库.对我来说最好的事情是按类别过滤.问题是Yii2总是添加额外的信息$ _COOKIE,$ _SESSION和$ _SERVER.这是正常的吗?如何禁用额外的日志行?

这是前端配置

return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\DbTarget',
                    'categories' => ['manual'],
                ]
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];
Run Code Online (Sandbox Code Playgroud)

这是动作代码:

public function actionTest()
{
    $logger = Yii::getLogger();
    \Yii::info('catalog info', 'manual');
    $logger->flush();
    Yii::$app->end();
}
Run Code Online (Sandbox Code Playgroud)

这就是结果:

在此输入图像描述

感谢rkm回答这个配置现在有效:

[
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'except' => [
                        'manual',
                    ],
                    'class' => 'yii\log\FileTarget',
                    'categories' => ['application'],
                ],
                [
                    'class' => 'yii\log\DbTarget',
                    'categories' => ['manual'],
                    'logVars' => [],
                ]

            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];
Run Code Online (Sandbox Code Playgroud)

rkm*_*rkm 9

如果您不需要任何全局变量'logVars' => [],,请将配置添加log到此组件中.

'components' => [
    ...
    'log' => [
        ...  
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'logVars' => [],
            ]
        ]
        ...
    ]
...
]
Run Code Online (Sandbox Code Playgroud)

有关在文档中配置日志记录的详细信息