自定义一个函数,可以将错误信息记录到文件,如下:
/**
* 记录第三方平台操作的错误信息
* @author YJ 2016-05-19
* @param unknown $msg 要记录的错误信息
* @param string $destination 存放错误日志的目录
*/
function writeLog($msg, $destination='./errorLogs/'){
static $_PUT = null;
$destination .= date('Y_m_d').'.log';
// 自动创建日志目录
$log_dir = dirname($destination);
if (!is_dir($log_dir)) {
mkdir($log_dir, 0777, true);
}
$method = $_SERVER['REQUEST_METHOD']; // 请求类型
switch(strtolower($method)) { // 获取提交的参数
case 'get' :
$input = & $_GET;
break;
case 'post' :
$input = & $_POST;
break;
case 'put' :
if(is_null($_PUT)){
parse_str(file_get_contents('php://input'), $_PUT);
}
$input = $_PUT;
break;
default:
$input = null;
break;
}
$str = '请求时间:'.date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']).' '.'客户端IP:'.$_SERVER['REMOTE_ADDR'].' '.'请求类型:'.$method.' ';
$str .= '请求地址:http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].PHP_EOL;
$str .= '请求参数:'.http_build_query($input).PHP_EOL;
$str .= '响应结果:'.$msg.PHP_EOL.PHP_EOL;
error_log($str, 3, $destination);
}
函数调用示例:
writeLog('操作失败!');