YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用。
我们在 config/web.php 中配置如下:
'components' => [ ......其他配置项,这里省略 'log' => [ //消息跟踪级别,设置yii\log\Dispatcher::traceLevel属性 'traceLevel'=> YII_DEBUG ? 3 : 0, //日志目标,可定义多个 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning', 'info'], 'logVars' => [], //表示以 yii\db\ 或者 app\models\ 开头的分类都会写入这个文件 'categories' => ['yii\db\*', 'app\models\*'], //表示写入到文件 'logFile' => '@runtime/logs/sql_' . date('y_m_d') . '.log', ], ], ], ], ];
本公司的项目可以通过在项目目录下的 qifacn/config/main-local.php 文件进行自定义配置,具体添加自定义配置例如:
//将 info 级别的日志信息存入到指定的位置 $config['components']['log']['traceLevel'] = YII_DEBUG ? 3 : 0; $config['components']['log']['targets'][] = [ 'class' => 'yii\log\FileTarget', // 日志存储到数据库 // 'class' => 'yii\log\DbTarget', // 'logTable' => '{{%sys_log}}', 'levels' => ['info'], 'logFile' => '@runtime/info-logs/' . date('Y-m-d') . '.log', ];
参考: