PHP 自定義日誌記錄功能類

2021-07-02 13:05:48 字數 2150 閱讀 2585

此文作者的日誌是單一日誌,加數學序號擴充套件。

我現在用的是日期日誌,應用功能環境不一樣,實現的東西有些不同。

對於現在的應用程式來說,日誌的重要性是不言而喻的。很難想象沒有任何日誌記錄功能的應用程式執行在生產環境中。日誌所能提供的功能是多種多樣的,包括記錄程式執行時產生的錯誤資訊、狀態資訊、除錯資訊和執行時間資訊等。在生產環境中,日誌是查詢問題**的重要依據。應用程式執行時的產生的各種資訊,都應該通過日誌類庫來進行記錄

。廢話不多說了,附上日誌類庫的源**: 

php**  

/*** 日誌處理類

* * @since alpha 0.0.1

* @date 2014.03.04

* @author genialx

* */

class log  

/*** 單利模式

* * @since alpha 0.0.1

* @date 2014.02.04

* @author genialx

*/public

static

function get_instance()  

return self::$instance;  

}  /**

* * 日誌記錄

* * @param int $type  0 -> 記錄(thing log) / 1 -> 錯誤(error log)

* @param string $desc

* @param string $time

* * @since alpha 0.0.1

* @date 2014.02.04

* @author genialx

* */

public

function log($type,$desc,$time)  

switch($type)  

}  }  

/*** 獲取當前日誌的最新文件的字尾

* * @since alpha 0.0.1

* @date 2014.02.04

* @author genialx

*/private

function get_max_log_file_suf()  

}  }  

}  if($log_file_suf == null)  

//截斷檔案

if( file_exists($this->log_file_path . $this->log_file_pre . $log_file_suf) && filesize($this->log_file_path . $this->log_file_pre . $log_file_suf) >= $this->log_max_len)  

return

$log_file_suf;  

}     

}  return 0;  

}  /**

* 關閉檔案控制代碼

* * @since alpha 0.0.1

* @date 2014.02.04

* @author genialx

*/public

function close()  

}  

功能說明:

該日誌類利用單例模式,節省資源。自行判斷檔案大小,超出指定大小則按序自行建立檔案。如:檔案log_0大於指定大小,則重新建立log_1檔案(注意:建立檔案是安裝檔名字尾的數字的,請勿隨意更改日誌檔名)。

有待優化:

沒有指定檔案的最大個數,所以定期要手動刪除過多的日誌檔案。

呼叫示例:

php**  

//log

$l = log::get_instance();  

//第乙個引數 int 0代表事件記錄(thing log:),1代表錯誤記錄(error log:)

//第二個引數 string 描述文字

//第三個引數 string 時間

$l->log(1,'日誌描述', date('y-n-j h:m:s'));  

$l->close();  

自定義日誌記錄檔案

舉例 郵件傳送錯誤記錄日誌 日誌記錄介面 ilogservice.cs public inte ce ilogservice 日誌記錄介面 實現 filelogservice.cs public class filelogservice ilogservice finally catch endre...

自定義日誌工具類

import android.util.log public class logutil public static void d string tag,string msg public static void i string tag,string msg public static void ...

php 自定義分頁類

page.class.php namespace tools class page private function setlimit private function geturi pa return url public function get args else private functi...