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',
];
参考:
yii2 日志功能官方文档