php错误日志保存

概要:php中的错误日志,可以保存在本地,也可以保存在远程目录,下面我们以保存在本地为例子。

相关函数:error_log($mes,$mes_type,$destination)

其中$mes_type=3说明,错误日志是追加写入文件,而不是覆盖原文件

案例1:

<?php
date_default_timezone_set("Asia/Chongqing");
function age_error($erroro,$erromes)
  {
   echo "<strong>错误级别</strong>:<font color=‘red‘>".$erroro."</font><br>";
   echo "<strong>错误信息</strong>:".$erromes;
   $time=date("Y-m-d G:i:s");
   //保存错误信息  \r\n 向文件输入一个回车换行
   $info="错误级别:".$erroro." "."错误信息:".$erromes." 时间:".$time."\r\n";
   error_log($info,3,"error_log.txt");
  }
 set_error_handler("age_error",E_USER_NOTICE);//错误级别通常为:E_USER_WARNING,E_USER_NOTICE,E_USER_ERROR
 
 $age=700;
 echo "age:".$age."<br>";
 if($age>100)
 {
 trigger_error("年龄太大,大于120");
 exit();
 }
  
?>

运行代码,多次刷新,结果如下图:

age:700
错误级别:1024
错误信息:年龄太大,大于120

打开error_log.txt

可以看到以下效果:

时间: 2024-10-21 10:04:36

php错误日志保存的相关文章

PHP 错误与异常 笔记与总结(6)将错误日志保存在系统日志中

[将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 ini_set() 函数设置. [例1] <?php //关闭错误显示 ini_set('display_errors', 0); //开启错误日志功能 ini_set('log_errors', 'on'); //设置错误日志的路径 ini_set('error_log', 'syslog'); //显示所有错误 error_reporting(-1);

【异常处理】将错误日志抛向后台以-.txt的保存

一.前言 前几天的时候,验收机房合作的时候,师哥师姐说可以将错误提交到后台,自己其实以前也知道,但是没有动手实践,验收完后自己经过查资料,完成了这个例子. 二.异常处理 2.1 概念 异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). 2.2 分类 分类的基类是Throwable,Error是指系统处理不了的错误:Exception是系统可以处理的错误,RuntimeException是经常出的错误. 图一 异常处理分类

保存错误日志回传服务器之回传错误“信息”

近期领导交给我个任务,即已经上线的一个android产品出现Bug,但只是个别手机出现Bug,主流手机都没事,但是我们不可能把所有出现问题的手机都搜集过来测试开发(实际上出现问题的手机都比较难拿到机型,例如:红米定制版,索尼等),因此只能想个办法:在项目中加上保存错误日志,并将错误信息回传到服务器的方法,然后通过错误日志分析Bug,因此我在参考了网上的一些解决方案后,自己修改写了两种方式:一.直接将错误信息+手机信息发送到服务器  二.将错误信息+手机信息保存到一个文件,将文件上传到服务器.不过

【转载】通用 application 彻底退出应用 获崩溃异常,保存错误日志,并重启应用

转载地址:http://zheyiw.iteye.com/blog/1670990 个人笔记: 通用 application 1.收集所有 avtivity 用于彻底退出应用 2.捕获崩溃异常,保存错误日志,并重启应用 public class HKBaseApplication extends Application { // activity对象列表,用于activity统一管理 private List<Activity> activityList; // 异常捕获 protected

Nginx错误日志整理

Nginx错误日志说明 错误日志类型 类型1: upstream timed out 类型2: connect() failed 类型3: no live upstreams 类型4: upstream prematurely closed connection 类型5: 104: Connection reset by peer 类型6: client intended to send too large body 类型7: upstream sent no valid HTTP/1.0 he

Hadoop错误日志

1.错误日志:Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 错误原因:在Linux下Hadoop等的各种数据默认保存在 /tmp目录下.当重启系统后 /tmp目录中的数据信息被清除,导致Hadoop启动失败.确定目录 /tmp/hadoop-root/dfs/name是否存在解决方案: 使用命令bin/h

MySQL 错误日志(Error Log)

同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定义mysqld内部发生的事情,数据库性能故障,记录数据的变更历史,用户恢复数据库等等.本文主要描述错误日志文件. 1.MySQL日志文件系统的组成   a.错误日志:记录启动.运行或停止mysqld时出现的问题.   b.通用日志:记录建立的客户端连接和执行的语句.   c.更新日志:记录更改数据的语句.该日志在M

第五篇 SQL Server代理理解代理错误日志

本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到,SQL Server代理可以通过数据库邮件发送通知.如果有什么不正确的,你必须查看数据库邮件日志.在这一篇,你将学习如何理解和查看所有相关的SQL Server代理错误日志.你将回顾最常见的错误信息,掌握哪些信息需要你采取行动,哪些信息只是单纯的信息而已.一旦你理解错误日志,在处理SQL Serv

简单的php自定义错误日志

平时经常看php的错误日志,很少有机会去自己动手写日志,看了王健的<最佳日志实践>觉得写一个清晰明了,结构分明的日志还是非常有必要的. 在写日志前,我们问问自己:为什么我们有时要记录自定义的日志呢?而不用系统默认的日志记录方式呢? 我认为有两个原因: 1.团队需要一个统一格式的日志方便管理 2.大量无用错误日志占据硬盘空间,仅需记录有意义的日志. 那么,实践一下. 1.打开你的php.ini 2.打开日志记录,将 log_errors = Off 改成 log_errors = On 3.将p