天天看點

php 日志列印方法名,TP5日志列印方法封裝

需求:在開發及測試過程中需要列印日志,并且可以将日志内容列印到指定檔案,這樣友善檢視。
過程:
1. 打開think\Log檔案,在該檔案中添加一個靜态方法,代碼如下:
/**
• @param $mark 備注
• @param $log_content 日志内容
• @param string $fname 檔案名
*/
public static function mylog($mark, $log_content, $fname = “”)
{
$max_size = 30000000; //位元組
if ($fname == “”) {
$log_filename = RUNTIME_PATH . ‘/log/’ . date(‘Ym-d’) . “.log”;
} else {
$log_filename = RUNTIME_PATH . ‘/log/’ . $fname . “.log”;
}
if (file_exists(KaTeX parse error: Expected 'EOF', got '&' at position 15: log_filename) &̲& abs(filesize(log_filename)) > $max_size) {
//當日志檔案過大,移動檔案并重命名
rename(log_filename) . DS . date(‘Ym-d-His’) . $fname . “.log”);}
$t = microtime(true);
t - floor($t)) * 1000000);$d = new \DateTime (date(‘Y-m-d H:i:s.’ . $micro, $t));
if(is_array($log_content)){
log_content);}
file_put_contents($log_filename,
’ ’ . $d->format(‘Y-m-d H:i:s u’) . " key:" . $mark . “\r\n” . $log_content . “\r\n------------------------ --------------------------\r\n”,
FILE_APPEND);
}
2. 使用:
在控制器中引入Log類: use think\Log;
調用方法: Log::mylog(“info:”, JSONReturn($info), “admin_index”);
3. 注意:JSONReturn()方法是放在了common.php檔案中,代碼如下:
function JSONReturn($result)
{
return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}