php常用的一个日志记录、调试函数,记录日志到本地方便接口的调试:
<?php
final class tool_log
{
public static function errorLog($info,$unlink=false,$log_file_name='',$log_dir='/日志目录/')
{
is_dir(RPC_DIR.$log_dir) || @mkdir(RPC_DIR.$log_dir);
$time = date('Y-m-d H:i:s',time());
$data = is_array($info)?json_encode($info,JSON_UNESCAPED_UNICODE):$info;
$file_name = $log_file_name ? $log_file_name.'.log' :date('Ymd').'.log';
if ($unlink){
@unlink(RPC_DIR.$log_dir.$file_name);
}
$backtrace = debug_backtrace();
$backtrace_line = array_shift($backtrace); // 哪一行调用的log方法
$backtrace_call = array_shift($backtrace); // 谁调用的log方法
$file = substr($backtrace_line['file'], strlen($_SERVER['DOCUMENT_ROOT']));
$line = $backtrace_line['line'];
$class = isset($backtrace_call['class']) ? $backtrace_call['class'] : '';
$type = isset($backtrace_call['type']) ? $backtrace_call['type'] : '';
$func = $backtrace_call['function'];
@file_put_contents(RPC_DIR.$log_dir.$file_name, "$time $file:$line $class$type$func: $data\n". PHP_EOL, FILE_APPEND);
}
}
//tool_log::errorLog(记录的内容,是否先删除,'文件名称',存放目录);