filelog
日志记录级别:
self::LEVEL_ERROR => 'error', //不可恢复的异常信息 self::LEVEL_WARNING => 'warning', //程序运行时警告信息 self::LEVEL_INFO => 'info', //程序运行信息,如:管理员操作 self::LEVEL_TRACE => 'trace', //调试信息,需要开启YII_DEBUG self::LEVEL_PROFILE_BEGIN => 'profile begin',//通过begin和end来记录代码运行的时间 self::LEVEL_PROFILE_END => 'profile end',
config/web.php下的配置
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, //在调试模式下是3,不是调试模式是0 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning','info'],//异常,警告 ], ], ],
<?php namespace app\controllers; use yii\web\Controller; class LogController extends Controller { public function actionTest(){ //\Yii::warning('警告'); // \Yii::error('Exception 400','app'); \Yii::info('修改密码','manager'); } }可以再runtime/logs/app.log下查看日志信息
DBlog
首先创建log表
create table `log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `level` integer, `category` varchar(255), `log_time` double, `prefix` text, `message` text, key `idx_log_level` (`level`), key `idx_log_category` (`category`) ) engine InnoDB;把web.php的配置改成数据库的配置
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, //在调试模式下是3,不是调试模式是0 'targets' => [ [ 'class' => 'yii\log\DbTarget', 'levels' => ['error', 'warning','info'],//异常,警告 ], ], ],然后再访问下log/test.html,不需要修改代码就会看见数据库中出现了日志信息
LOG的调度器Dispatcher 就是按照levels把信息记录在文件或数据库或其他。。
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, //在调试模式下是3,不是调试模式是0 'targets' => [ 'file'=>[ 'class' =>'yii\log\FileTarget', 'levels' =>['trace','info'], ], 'db'=>[ 'class' =>'yii\log\DbTarget', 'levels' =>['error','warning'], ], ], ],这时可以再数据库和app.log下分别看到error,warning以及info级别的信息class LogController extends Controller { public function actionTest(){ \Yii::warning('警告'); \Yii::error('Exception 400','app'); \Yii::info('修改密码','manager'); } }
log的的配置加上categories时要注意的事项
'targets' => [ 'file'=>[ 'class' =>'yii\log\FileTarget', 'levels' =>['trace','info'], 'categories' =>['yii\*','manager'], /* * categories必须和levels相对应,否则级别符合了,分类不匹配就不会生成Log文件 * 如: \Yii::info('修改密码','manager'); * */ ], 'db'=>[ 'class' =>'yii\log\DbTarget', 'levels' =>['error','warning'], ], ], ],