国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP日志LOG類定義與用法示例

2024-05-05 00:05:18
字體:
來源:轉載
供稿:網友

本文實例講述了PHP日志LOG類定義與用法。分享給大家供大家參考,具體如下:

<?php/*** PHP log 類 */class Config{  public static function getConfig (){   return array(      'LOG_FILE'=>'test.txt',       'LOG_LEVEL'=>75 //INFO   );  }}class Log{  private $LogFile;  private $logLevel;  const DEBUG = 100;  const INFO  = 75;  const NOTICE = 50;  const WARNING =25;  const ERROR  = 10;  const CRITICAL = 5;  private function __construct(){    $cfg = Config::getConfig();      $this->logLevel = isset($cfg['LOG_LEVEL']) ? $cfg['LOG_LEVEL']:LOG::INFO;    if(!isset($cfg['LOG_FILE']) && strlen($cfg['LOG_FILE'])){      throw new Exception('can/'t set file to empty');    }    $this->LogFile = @fopen($cfg['LOG_FILE'],'a+');    if(!is_resource($this->LogFile)){      throw new Exception('invalid file Stream');    }  }  public static function getInstance(){    static $obj;    if(!isset($obj)){      $obj = new Log();    }    return $obj;  }  public function LogMessage($msg, $logLevel = Log::INFO,$module = null){    if($logLevel > $this->logLevel){      return ;    }    date_default_timezone_set('Asia/shanghai');    $time = strftime('%x %X',time());    $msg = str_replace("/t",'',$msg);    $msg = str_replace("/n",'',$msg);    $strLogLevel = $this->levelToString($logLevel);    if(isset($module)){      $module = str_replace(array("/n","/t"),array("",""),$module);    }    $logLine = "$time/t$msg/t$strLogLevel/t$module/r/n";    fwrite($this->LogFile,$logLine);  }  public function levelToString($logLevel){     $ret = '[unknow]';     switch ($logLevel){        case LOG::DEBUG:           $ret = 'LOG::DEBUG';           break;        case LOG::INFO:           $ret = 'LOG::INFO';           break;        case LOG::NOTICE:           $ret = 'LOG::NOTICE';           break;        case LOG::WARNING:           $ret = 'LOG::WARNING';           break;        case LOG::ERROR:           $ret = 'LOG::ERROR';           break;        case LOG::CRITICAL:           $ret = 'LOG::CRITICAL';           break;     }     return $ret;  }}$logIns = LOG::getInstance();//print_r($logIns);$logIns->logMessage("test",LOG::INFO,'myTest');?>

運行程序,在當前目錄下生成test.txt文件內容如下(這里是運行3次的結果):

09/06/18  14:56:20 test LOG::INFO myTest
09/06/18  14:56:21 test LOG::INFO myTest
09/06/18  14:56:22 test LOG::INFO myTest

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 通许县| 金昌市| 东港市| 孙吴县| 鹿邑县| 红原县| 镇原县| 贵南县| 通江县| 西乌| 扬州市| 酉阳| 攀枝花市| 拉萨市| 绥滨县| 广宁县| 贡觉县| 大余县| 宝丰县| 沾益县| 会宁县| 武汉市| 兴和县| 禹州市| 印江| 道孚县| 尉犁县| 钟山县| 琼海市| 鄂托克旗| 定州市| 东宁县| 当雄县| 临沧市| 双牌县| 新乡县| 金华市| 嘉兴市| 蛟河市| 蒙城县| 家居|