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(记录的内容,是否先删除,'文件名称',存放目录);