您好,登錄后才能下訂單哦!
Yii2.0的日志功能雖然說已經很強大,但有時候,我們需要在程序運行的關鍵地方加入日志。這樣使用Yii2.0系統提供日志功能,就有一些不太習慣。(ps:也許是我的Yii2.0使用的不熟悉)
這里我在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] */
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。