php基于自定义函数记录log日志方法


Posted in PHP onJuly 21, 2017

本文实例讲述了php基于自定义函数记录log日志方法。分享给大家供大家参考,具体如下:

/**
 * 记录错误日志
 * @param 日志内容 $res
 */
function save_log($res) {
  $err_date = date("Ym", time());
  //$address = '/var/log/error';
  $address = './error';
  if (!is_dir($address)) {
    mkdir($address, 0700, true);
  }
  $address = $address.'/'.$err_date . '_error.log';
  $error_date = date("Y-m-d H:i:s", time());
  if(!empty($_SERVER['HTTP_REFERER'])) {
    $file = $_SERVER['HTTP_REFERER'];
  } else {
    $file = $_SERVER['REQUEST_URI'];
  }
  if(is_array($res)) {
    $res_real = "$error_date\t$file\n";
    error_log($res_real, 3, $address);
    $res = var_export($res,true);
    $res = $res."\n";
    error_log($res, 3, $address);
  } else {
    $res_real = "$error_date\t$file\t$res\n";
    error_log($res_real, 3, $address);
  }
}

var_export() 方法详解:

var_export ? 输出或返回一个变量的字符串表示

描述 :

mixed var_export ( mixed expression , bool )

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

EG:

var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别;

$var =var_export(array('a','b',array('aa','bb','cc')),TRUE)

加上TRUE后,不会再打印出来,

而是给了一个变量,这样就可以直接输出;

echo $var;

此时输出来的形式与var_dump()打印的相似。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Content-type 的说明
Oct 09 PHP
php图片验证码代码
Mar 27 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
如何用php生成扭曲及旋转的验证码图片
Jun 07 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 #PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 #PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 #PHP
php检测mysql表是否存在的方法小结
Jul 20 #PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 #PHP
php脚本守护进程原理与实现方法详解
Jul 20 #PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 #PHP
You might like
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
smarty中post用法实例
2014/11/28 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python中装饰器高级用法详解
2017/12/25 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python字典key不能是可以是啥类型
2020/08/04 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
回门宴答谢词
2014/01/13 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
法律进社区实施方案
2014/03/21 职场文书
学校中秋节活动总结
2015/03/23 职场文书
确保工程质量承诺书
2015/04/29 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
JavaScript实现简单拖拽效果
2021/09/15 Javascript
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android