Yii2.0 自定义日志类
Yii2.0的日志功能虽然说已经很强大,但有时候,我们需要在程序运行的关键地方加入日志。这样使用Yii2.0系统提供日志功能,就有一些不太习惯。(ps:也许是我的Yii2.0使用的不熟悉)
这里我在extensions下建了一个utils目录并建了一个名为FileLog的php文件继承yii\log\FileTarget类。不多了,直接上代码,大家一看就明白了。
<?phpnamespaceapp\extensions\utils;useYii;useyii\helpers\FileHelper;useyii\log\FileTarget;classFileLogextendsFileTarget{publicfunctioninit(){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了。
当然使用也很简单。看代码
<?phpnamespaceapp\controllers;useYii;useyii\log\Logger;useyii\web\Controller;useapp\extensions\utils\FileLog;classPayControllerextendsController{publicfunctionactionIndex(){$log=newFileLog();$log->messages[]=['fff',Logger::LEVEL_INFO,'',time()];$log->export();}}/***textstring日志内容*levelint信息等级,这个你可以自己定义。我就是用的yii的*categoriesstring信息分类,这个根据yii的文档,是可以对错误进行分类,*比如数据库,是连时候的错误,还是运行时候的错误*timestampint这个就是时间戳了*message[$text,$level,$categories,$timestamp]*/
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。