框架的运行日志(runtime)在开发过程中是很有用的,但是吧,这玩意我一般不太愿意用,主要是和直接在浏览器var_dump中输出,日志是将运行结果写到文件中去了,还要去看文件中的内容,比较麻烦。
但是,在没有办法在浏览器中输出,或者需要在运行过程中输出,但是又不想打断她的运行的时候,日志是一个非常好的选择。
Yii2.0框架的日志操作如下:
大概有五种方式:
Yii::getLogger()->log($message, $level, $category = 'application') Yii::trace($message, $category = 'application'); Yii::error($message, $category = 'application'); Yii::warning($message, $category = 'application'); Yii::info($message, $category = 'application');
首先修改以下配置文件
Config目录下的main.php
原来的日志配置是这个样子的:
'log'=> [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], ],
修改成:
'log' => [ 'traceLevel'=> YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning','info','trace'], ], // 配置info信息输入 [ // 使用日志类 'class'=> 'yii\log\FileTarget', // 配置日志等级 'levels' => ['info'], //'categories' => ['rhythmk'], // 日志存放目录 'logFile' => '@app/runtime/logs/requests.log', // 最大文件大小 'maxFileSize' => 1024 * 2, 'maxLogFiles' => 20, ], // 配置调试信息输出 [ // 使用日志类 'class'=> 'yii\log\FileTarget', // 配置日志等级 'levels' => ['trace'], //'categories' => ['rhythmk'], // 日志存放目录 'logFile' => '@app/runtime/logs/trace.log', // 最大文件大小 'maxFileSize' => 1024 * 2, 'maxLogFiles' => 20, ], ], ],
输出日志:
Yii::getLogger()->log("开始写自定义日志",Logger::LEVEL_ERROR); Yii::trace("trace,开发调试时候记录"); Yii::error("error,错误日志"); Yii::warning("warning,警告信息"); Yii::info("info,记录操作提示"); 复制代码
一般我这里用的就是info输出,看值。
Yii::info(‘值’.’键’);