溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Yii2.0 自定義日志類

發(fā)布時(shí)間:2020-07-18 13:43:08 來源:網(wǎng)絡(luò) 閱讀:1319 作者:xtceetg 欄目:開發(fā)技術(shù)

       Yii2.0的日志功能雖然說已經(jīng)很強(qiáng)大,但有時(shí)候,我們需要在程序運(yùn)行的關(guān)鍵地方加入日志。這樣使用Yii2.0系統(tǒng)提供日志功能,就有一些不太習(xí)慣。(ps:也許是我的Yii2.0使用的不熟悉)

        這里我在extensions下建了一個(gè)utils目錄并建了一個(gè)名為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了。

當(dāng)然使用也很簡單。看代碼

<?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 日志內(nèi)容
*level int 信息等級,這個(gè)你可以自己定義。我就是用的yii的
*categories string 信息分類,這個(gè)根據(jù)yii的文檔,是可以對錯(cuò)誤進(jìn)行分類,
*比如數(shù)據(jù)庫,是連時(shí)候的錯(cuò)誤,還是運(yùn)行時(shí)候的錯(cuò)誤
*timestamp int 這個(gè)就是時(shí)間戳了
*message[$text,$level,$categories,$timestamp]
*/


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI