記錄日誌的好處不言而喻,良好的日誌文件系統能夠幫助我們快速的定位錯誤,方便我們查找錯誤原因;特別是對接第三方接口的時候,一定要詳細的記錄下請求報文,返回報文。當出現問題時可以快速的提供相關報文給第三方,以供排查。
示例如下:
/**
* 寫日誌
* @param $title 標題
* @param $content 內容
* @param $policyinfo 保單信息
*/
public function log($title, $content,$policyinfo) {
// 日誌路徑
$date = date('Ymd');
$path = FCPATH . "../uploadFiles/logs/meiya_cancel/{$date}/{$policyinfo['PolicyNumber']}.log";
$path = str_replace("\\", "/", $path); // 將反斜槓替換爲斜槓
$dir = dirname($path); // 文件目錄
if ( ! is_dir($dir)) mkdir($dir, 0777, TRUE); // 目錄不存在則創建
// 日誌內容
$datetime = date('Y-m-d H:i:s');
$content = is_string($content) ? $content : json_encode($content);
$message = "[{$datetime}] {$title}: {$content}\r\n";
error_log($message, 3, $path);
chmod($path, 0777 );
}
思路大概很簡單創建目錄->記錄文件,注意文件是日誌文件是累加而不是每次都是創建新的。最後再需要的地方引用該文件即可。這樣日誌文件就可以跟蹤整個流程,方便判斷哪裏出錯。