PHP 自定义错误日志

来源:互联网 发布:小米手机怎么数据迁移 编辑:程序博客网 时间:2024/06/06 06:45
  1. <?php  
  2. //错误处理函数  
  3. function myErrorHandler($errno$errstr$errfile$errline)  
  4. {  
  5.     $log_file = "./php_%s_log_".date("Ymd").".log";//定义日志文件存放目录和文件名  
  6.     $template = '';  
  7.     switch ($errno) {  
  8.         case E_USER_ERROR:  
  9.             $template .= "用户ERROR级错误,必须修复 错误编号[$errno] $errstr ";  
  10.             $template .= "错误位置 文件$errfile,第 $errline 行\n";  
  11.             $log_file = sprintf($log_file,'error');  
  12.             exit(1);//系统退出  
  13.             break;  
  14.         case E_USER_WARNING:  
  15.             $template .= "用户WARNING级错误,建议修复 错误编号[$errno] $errstr ";  
  16.             $template .= "错误位置 文件$errfile,第 $errline 行\n";  
  17.             $log_file = sprintf($log_file,'warning');  
  18.             break;  
  19.         case E_USER_NOTICE:  
  20.             $template .= "用户NOTICE级错误,不影响系统,可不修复 错误编号[$errno] $errstr ";  
  21.             $template .= "错误位置 文件$errfile,第 $errline 行\n";  
  22.             $log_file = sprintf($log_file,'notice');  
  23.             break;  
  24.         default:  
  25.             $template .= "未知错误类型: 错误编号[$errno] $errstr  ";  
  26.             $template .= "错误位置 文件$errfile,第 $errline 行\n";  
  27.             $log_file = sprintf($log_file,'unknown');  
  28.             break;  
  29.     }  
  30.     file_put_contents($log_file,$template,FILE_APPEND);  
  31.     return true;  
  32. }  
  33. $error_handler = set_error_handler("myErrorHandler");//开启自定义错误日志  
  34.   
  35.   
  36.   
  37.   
  38.   
  39.   
  40.   
  41.   
  42. echo $a
原创粉丝点击