Yii2.0 自定义日志类
2016-05-18 21:20
525 查看
Yii2.0的日志功能虽然说已经很强大,但有时候,我们需要在程序运行的关键地方加入日志。这样使用Yii2.0系统提供日志功能,就有一些不太习惯。(ps:也许是我的Yii2.0使用的不熟悉)
这里我在extensions下建了一个utils目录并建了一个名为FileLog的php文件继承yii\log\FileTarget类。不多了,直接上代码,大家一看就明白了。
当然使用也很简单。看代码
这里我在extensions下建了一个utils目录并建了一个名为FileLog的php文件继承yii\log\FileTarget类。不多了,直接上代码,大家一看就明白了。
<?php namespace app\extensions\utils; use Yii; use yii\helpers\FileHelper; use yii\log\FileTarget; class FileLog extends FileTarget { public function init() { parent::init(); $this->logFile = Yii::$app->getRuntimePath() . '/logs/pay/' . date('Y-m-d') . '.log'; $logPath = dirname($this->logFile); if (!is_dir($logPath)) { FileHelper::createDirectory($logPath, $this->dirMode, true); } if ($this->maxLogFiles < 1) { $this->maxLogFiles = 1; } if ($this->maxFileSize < 1) { $this->maxFileSize = 1; } } }这样就o了。
当然使用也很简单。看代码
<?php namespace app\controllers; use Yii; use yii\log\Logger; use yii\web\Controller; use app\extensions\utils\FileLog; class PayController extends Controller { public function actionIndex() { $log = new FileLog(); $log->messages[]=['fff',Logger::LEVEL_INFO,'',time()]; $log->export(); } } /** *text string 日志内容 *level int 信息等级,这个你可以自己定义。我就是用的yii的 *categories string 信息分类,这个根据yii的文档,是可以对错误进行分类, *比如数据库,是连时候的错误,还是运行时候的错误 *timestamp int 这个就是时间戳了 *message[$text,$level,$categories,$timestamp] */
相关文章推荐
- YII Framework框架教程之安全方案详解
- Yii PHP Framework实用入门教程(详细介绍)
- PHP的Yii框架中Model模型的学习教程
- 详解PHP的Yii框架中自带的前端资源包的使用
- Yii操作数据库的3种方法
- 在yii中新增一个用户验证的方法详解
- 详解PHP的Yii框架中的Controller控制器
- PHP的Yii框架中过滤器相关的使用总结
- Yii框架在页面输出执行sql语句以方便调试的实现方法
- YII动态模型(动态表名)支持分析
- 浅析Yii中使用RBAC的完全指南(用户角色权限控制)
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- Yii 连接、修改 MySQL 数据库及phpunit 测试连接
- 深入讲解PHP的Yii框架中的属性(Property)
- yii实现使用CUploadedFile上传文件的方法
- 实例讲解如何在PHP的Yii框架中进行错误和异常处理
- 解读PHP的Yii框架中请求与响应的处理流程
- 详解PHP的Yii框架中组件行为的属性注入和方法注入
- YII Framework学习之request与response用法(基于CHttpRequest响应)
- Yii中CArrayDataProvider和CActiveDataProvider区别实例分析