分享一個(gè)我自己用的在 WordPress 開發(fā)中用得到的一個(gè)調(diào)試日志類。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、做網(wǎng)站、平城網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、平城網(wǎng)絡(luò)營銷、平城企業(yè)策劃、平城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供平城建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.chinadenli.net
<?php
/**
* @author: suifengtec coolwp.com
* @date: 2013-02-03 09:55:55
* @last Modified by: suifengtec coolwp.com
* @last Modified time: 2015-07-12 18:40:02
*/
if(function_exists('add_action')){
defined('ABSPATH') or exit;
}
if(!class_exists('CoolWP_com_Log')){
final class CoolWP_com_Log{
private $dir = null;
private $debug_file_name = null;
private $f_path = null;
public function __clone() {
_doing_it_wrong( __FUNCTION__, 'Cheatin’ huh?', '0.9.0' );
}
public function __wakeup() {
_doing_it_wrong( __FUNCTION__, 'Cheatin’ huh?', '0.9.0' );
}
public function __construct($main_file=''){
$main_file = (''==$main_file)?__FILE__:$main_file;
$this->dir = dirname($main_file).DIRECTORY_SEPARATOR.'debug'.DIRECTORY_SEPARATOR;
$file_name = 'debug_'.md5($main_file).'.log';
$this->debug_file_name = (function_exists('apply_filters'))?apply_filters('cwp_debug_log_file_name',$file_name).'.log':$file_name.'.log';
$this->f_path = $this->dir.$this->debug_file_name;
$this->check_log_file();
}
/**
* adding log item
* @param string $text : adding content
*/
public function add($text) {
date_default_timezone_set('Asia/Shanghai');
if(is_array($text)||is_obeject($text)){
$text = json_encode($text);
}
$fp = fopen( $this->f_path,"a");
flock($fp, LOCK_EX) ;
fwrite($fp,"".date("Y-m-d H:i:s",time())."\n".$text."\n\n");
flock($fp, LOCK_UN);
fclose($fp);
//return true;
//
}
/**
* checking the log file and path.
* @return null
*/
private function check_log_file(){
$is_dir = is_dir($this->dir);
$is_file = file_exists($this->f_path);
if($is_dir && $is_file) return;
if(!$is_dir||!$is_file){
if(!$is_dir){
$md = mkdir($this->dir,0777,true);
}
if(!$is_file){
$fp = fopen( $this->f_path,"a");
fclose($fp);
}
}
}
}/*//CLASS*/
}
/*ALL DONE.*/
?>以 WordPress 插件為例的用例:
在插件主文件的適當(dāng)位置加入(假如上述代碼放置在class-coolwp-debug-log.php文件中):
$this->is_debug = true;
if($this->is_debug){
require_once( plugin_dir_path(__FILE__).'classes/class-coolwp-debug-log.php');
$this->Log = new CoolWP_com_Log();
}如果在插件主文件中將__FILE__定義為常量 SOMEONE_THIS,那么,可以將SOMEONE_THIS 作為參數(shù)傳給CoolWP_com_Log(),例如:
$this->Log = new CoolWP_com_Log(SOMEONE_THIS);
傳不傳參數(shù)的區(qū)別是日志文件的位置不同,如果不傳參數(shù),日志文件位于class-coolwp-debug-log.php所在目錄下的debug目錄下;如果傳遞了SOMEONE_THIS參數(shù),那么,日志文件位于插件主目錄下的debug目錄下。日志文件的文件名稱為debug_*******log。
日志條目默認(rèn)采用北京時(shí)間。
網(wǎng)頁題目:APHPlogclassfordebuging
標(biāo)題來源:http://www.chinadenli.net/article8/igpeop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站、靜態(tài)網(wǎng)站、虛擬主機(jī)、軟件開發(fā)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)