PHP按每天日期记录错误日志
span style=font-family:simsun;font-size:14px;line-height:23px;文件1:【error.class.php】重写错误处理,进行文件型的日志输出,会有两个时间,第一个是格林尼治时间,第二个是北京时间,后面是错误
文件1:【error.class.php】重写错误处理,进行文件型的日志输出,会有两个时间,第一个是格林尼治时间,第二个是北京时间,后面是错误信息,使用时候只需要包含此文件就可以了。 当然,文件格式你也可以根据自己的需要进行相应修改,比如在后面可以加一个mail函数发送到邮件...
文件2:【test.php】测试文件,里面有用来测试的错误语句。
文件2:【test.php】测试文件,里面有用来测试的错误语句。
<?php function exceptionHandler(){ error_reporting(E_ALL ^ E_NOTICE); date_default_timezone_set('Etc/GMT-8'); //设置时区 ini_set('display_errors',0); //将错误记录到日志 ini_set('error_log','D:\\'.date('Y-m-d').'_weblog.txt'); ini_set('log_errors',1); //开启错误日志记录 ini_set('ignore_repeated_errors',1); //不重复记录出现在同一个文件中的同一行代码上的错误信息。 $user_defined_err = error_get_last(); if($user_defined_err['type'] > 0) { switch($user_defined_err['type']){ case 1: $user_defined_errType = '致命的运行时错误(E_ERROR)'; break; case 2: $user_defined_errType = '非致命的运行时错误(E_WARNING)'; break; case 4: $user_defined_errType = '编译时语法解析错误(E_PARSE)'; break; case 8: $user_defined_errType = '运行时提示(E_NOTICE)'; break; case 16: $user_defined_errType = 'PHP内部错误(E_CORE_ERROR)'; break; case 32: $user_defined_errType = 'PHP内部警告(E_CORE_WARNING)'; break; case 64: $user_defined_errType = 'Zend脚本引擎内部错误(E_COMPILE_ERROR)'; break; case 128: $user_defined_errType = 'Zend脚本引擎内部警告(E_COMPILE_WARNING)'; break; case 256: $user_defined_errType = '用户自定义错误(E_USER_ERROR)'; break; case 512: $user_defined_errType = '用户自定义警告(E_USER_WARNING)'; break; case 1024: $user_defined_errType = '用户自定义提示(E_USER_NOTICE)'; break; case 2048: $user_defined_errType = '代码提示(E_STRICT)'; break; case 4096: $user_defined_errType = '可以捕获的致命错误(E_RECOVERABLE_ERROR)'; break; case 8191: $user_defined_errType = '所有错误警告(E_ALL)'; break; default: $user_defined_errType = '未知类型'; break; } $msg = sprintf('%s %s %s %s %s',date("Y-m-d H:i:s"),$user_defined_errType,$user_defined_err['message'],$user_defined_err['file'],$user_defined_err['line']); error_log($msg,0); } } register_shutdown_function('exceptionHandler'); ?>
2. [代码][PHP]代码 跳至 [1] [2] [全屏预览]
<meta charset="utf-8"> <?php //文件2:【test.php】 include('error.class.php'); echo $_COOKIE['aaaaadfa']; //此cookie不存在就会产生一个错误,用来做测试用 echo $_SESSION['aaaaadfa']; //此session不存在就会产生一个错误,用来做测试用 ?>
- 上一篇:判断PHP数组是否索引数组(列表/向量表)
- 下一篇:输出各种量的调试函数
精彩图集
精彩文章