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 相关文章推荐
怎样在UNIX系统下安装php3
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
php 中的closure用法详解
Jun 12 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
浅谈php常用的7大框架的优缺点
Jul 20 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
Js的MessageBox
2006/12/03 Javascript
网上抓的一个特效
2007/05/11 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
Python创建日历实例
2014/08/21 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python面向对象 反射原理解析
2019/08/12 Python
Python 下载及安装详细步骤
2019/11/04 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
Linux常见面试题
2013/03/18 面试题
销售冠军获奖感言
2014/02/03 职场文书
党委工作总结2015
2015/04/27 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python