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 相关文章推荐
文件上传程序的全部源码
Oct 09 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
yii用户注册表单验证实例
Dec 26 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
Laravel 实现密码重置功能
Feb 23 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 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
PHP之COOKIE支持详解
2010/09/20 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP 快速排序算法详解
2014/11/10 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
python发送告警邮件脚本
2018/09/17 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
python 制作本地应用搜索工具
2021/02/27 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
什么是设计模式
2012/06/17 面试题
企业申诉管理制度
2014/01/30 职场文书
出纳工作检讨书
2014/10/18 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL