register_shutdown_function("shutdown");
define('ERR_LOG_FILE', '/dev/shm/php_log.txt'); if(defined('ERR_LOG_FILE')){
ini_set("display_errors",0);//不在页面显示错误信息
error_reporting(E_ALL ^ E_NOTICE);//记录错误日志的级别
ini_set( "log_errors", "On" );//打开错误日志
ini_set( "error_log", ERR_LOG_FILE);//设置保存错误日志的地址
}
function shutdown(){
if(isset($GLOBALS['_pm'])){
if(isset($GLOBALS['_pm']['mysql'])) $GLOBALS['_pm']['mysql']->close();
if(isset($GLOBALS['_pm']['mem'])) $GLOBALS['_pm']['mem']->memClose();
$GLOBALS['_pm'] = NULL; if(defined('ERR_LOG_FILE')){
$_error=error_get_last();
if($_error && in_array($_error['type'],array(1,4,16,64,256,4096,E_ALL))){
$s = chr(10).'---------------------'.chr(10).date('Y/m/d H:i:s').' error:'.$_error['message'].chr(10);
$s .= 'File:'.$_error['file'].chr(10);
$s .= 'Line'.$_error['line'].chr(10);
file_put_contents(ERR_LOG_FILE, $s , FILE_APPEND);
}
}
}
}

PHP 捕捉错误,记录到日志的更多相关文章

  1. ZH奶酪:PHP error_log()将错误信息写入日志文件

    error_log() 是发送错误信息到某个地方的一个函数,在程序编程中比较常见,尤其是在程序调试阶段. bool error_log ( string $message [, int $messag ...

  2. PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中

    [记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...

  3. [置顶] 利用Global.asax的Application_Error实现错误记录,错误日志

    利用Global.asax的Application_Error实现错误记录 错误日志 void Application_Error(object sender, EventArgs e) { // 在 ...

  4. 工作经验:Java 系统记录调用日志,并且记录错误堆栈

    前言:现在有一个系统,主要是为了给其他系统提供数据查询接口的,这个系统上线不会轻易更新,更不会跟随业务系统的更新而更新(这也是有一个数据查询接口系统的原因,解耦).这时,这个系统就需要有一定的方便的线 ...

  5. Asp.Net MVC中捕捉错误路由并设置默认Not Found页面。

    在Global中写一个Application_Error捕捉错误路由并重定向到Not Found页面.这里是全局性抓取错误路由,此处还可以写由错误路由导致访问失败的日志记录. protected vo ...

  6. 记处理线上记录垃圾日志 The view 'Error' or its master was not found

    最近监控线上日志,网站是ASP.NET MVC 开发的,发现不少错误日志都记录同样的内容: The view 'Error' or its master was not found or no vie ...

  7. MVC 记录操作日志与过滤特殊字符

    最近进行的MVC系统需要用到记录操作日志和过滤特殊字符的功能,如果每个action中都调用记录日志的方法就太麻烦了,所以根据需要结合mvc的过滤机制 写了个特殊字符验证与记录操作日志的公用类: pub ...

  8. 记录php日志

    1.记录PHP错误日志 display_errors与log_errors的区别 display_errors 错误回显,一般常用于开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴 ...

  9. 安装nagios出现的两个错误记录

    最近在安装nagios,出现几个错误记录: 一 检查nagios配置的时候出现错误如下: Warning: Duplicate definition found for host 'kelly' (c ...

  10. StackTrace堆栈跟踪记录详细日志

    使用StackTrace堆栈跟踪记录详细日志(可获取行号) 2014-04-25 22:30 by 螺丝钉想要螺丝帽, 350 阅读, 3 评论, 收藏, 编辑 上一篇我们提到使用.NET自带的Tra ...

随机推荐

  1. GOLANG 赋值

    基本赋值语法 变量=表达式 var a int;a=1   变量里的元素=表达式 var arr[3] int;arr[0]=1   声明变量类型同时赋值 var 变量 类型=表达式 var arr[ ...

  2. nuget 服务器

    https://nuget.cnblogs.com/v3/index.json http://nuget.lzzy.net/api/v2 https://www.nuget.org/api/v2/ h ...

  3. Sprint(第八天11.21)

  4. iOS资源整理

    开发类库 http://www.code4app.com/thread-7831-1-1.html Github-iOS备忘 http://github.ibireme.com/github/list ...

  5. Swift根据日期字符串返回日期是星期几

    最近在做的一个IOS项目中需要根据日期得出日期代表的是星期几,日期以字符串的形式获得,于是该方法可以简单描述如下: /* * 根据日期格式字符串返回日期代表星期几 * 参数:dateTime,字符串类 ...

  6. web前端性能优化指南(转)

    web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络 ...

  7. SublimeText2 快捷键一览表

    SublimeText2 快捷键一览表 Sublime Text比起Notepad++,UltraEdit之类Code编辑器来说,其功能有过之而无不及,配合着各种插件使用,Sublime Text在实 ...

  8. DBUTIL 调用存储过程例子

    执行存储过程和执行select查询相比,无非就是SQL语句不同.下面是一个用存储过程查记录的例子.根据你的数据库不同和域对象不同,此代码要修改 Java code   ? 1 2 3 4 5 Quer ...

  9. mybatis+oracle添加一条数据并返回所添加数据的主键问题

    最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...

  10. Android Fragment 深度解析

    1.Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套app,然后拷贝一份,修改布局以适应 ...