Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yi2始终使用$\u COOKIE、$\u会话和$\u服务器记录应用程序类别(类别筛选器工作不正常)_Php_Logging_Yii2 - Fatal编程技术网

Php Yi2始终使用$\u COOKIE、$\u会话和$\u服务器记录应用程序类别(类别筛选器工作不正常)

Php Yi2始终使用$\u COOKIE、$\u会话和$\u服务器记录应用程序类别(类别筛选器工作不正常),php,logging,yii2,Php,Logging,Yii2,我是Yii2的新手,在一些操作发生后,我需要手动记录到数据库中。对我来说,最好的办法是分类过滤。问题是Yi2总是添加额外的行,其中包含信息$\u COOKIE、$\u会话和$\u服务器。 这正常吗?如何禁用额外的日志行 这是前面的配置 return [ 'id' => 'app-frontend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'controllerNamespa

我是Yii2的新手,在一些操作发生后,我需要手动记录到数据库中。对我来说,最好的办法是分类过滤。问题是Yi2总是添加额外的行,其中包含信息$\u COOKIE、$\u会话和$\u服务器。 这正常吗?如何禁用额外的日志行

这是前面的配置

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,
];
这是行动代码:

public function actionTest()
{
    $logger = Yii::getLogger();
    \Yii::info('catalog info', 'manual');
    $logger->flush();
    Yii::$app->end();
}
这就是结果:

感谢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,
];

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

'components' => [
    ...
    'log' => [
        ...  
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'logVars' => [],
            ]
        ]
        ...
    ]
...
]

有关配置日志记录的详细信息

这就是问题所在。谢谢