记录日志都会使用
error_log() 可以将日志发送到php的系统日志中,但是 file_put_contents() 这个函数不行
记录日志error_log与file_put_contents的区别:
如果只是记录日志,没有必要使用error_log 这个方法来操作,因为他也是一条一条写,如果日志数量特别多,则会对文件io造成非常大的压力。
private function log($msg){
if(defined('ALI_LOG_PATH') ){
$log_path = ALI_LOG_PATH;
if(empty($log_path) || !file_exists($log_path)){
throw new OSS_Exception($log_path.OSS_LOG_PATH_NOT_EXIST);
}
}else{
$log_path = dirname(__FILE__).DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR;
}
//检测日志目录是否存在
if(!file_exists($log_path)){
// throw new OSS_Exception(OSS_LOG_PATH_NOT_EXIST);
}
$log_name = $log_path.'oss_sdk_php_'.date('Y-m-d').'.log';
if(ALI_DISPLAY_LOG){
echo $msg."\n
";
}
if(ALI_LOG){
if(!error_log(date('Y-m-d H:i:s')." : ".$msg."\n", 3,$log_name)){
throw new OSS_Exception(OSS_WRITE_LOG_TO_FILE_FAILED);
}
}
}定义和用法
error_log() 函数向服务器错误记录、文件或远程目标发送错误消息。
error_log(message,type,destination,headers);

若成功则返回 TRUE,失败则返回 FALSE。