Php Yi2始终使用$\u COOKIE、$\u会话和$\u服务器记录应用程序类别(类别筛选器工作不正常)
我是Yii2的新手,在一些操作发生后,我需要手动记录到数据库中。对我来说,最好的办法是分类过滤。问题是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
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' => [],
]
]
...
]
...
]
有关配置日志记录的详细信息这就是问题所在。谢谢