/**
* 输出json
* @param $msg
* @param int $errno
*/
public function printOutError($msg = '操作失败', $errno = 10099)
{
$result = [
'msg' => $msg,
'errno' => $errno
];
$param = $_POST ?: $_GET;
setlog($param, $result, CONTROLLER_NAME . '/' . ACTION_NAME, C('DB_NAME') . '_error.log');
$this->setErr($errno, $msg);
$this->Send();
} /**
* 输出json
* @param $msg
* @param int $errno
*/
public function E($msg = '操作失败', $errno = 10099)
{
$result = [
'msg' => $msg,
'errno' => $errno
];
$param = $_POST ?: $_GET;
setlog($param, $result, CONTROLLER_NAME . '/' . ACTION_NAME, C('DB_NAME') . '_error.log');
$this->setErr($errno, $msg);
$this->Send();
} /**
* 输出json
* @param array $out_data
* @param string $msg
* @param bool $force_out 强制展示结果
*/
public function printOutSuccess($out_data = [], $msg = '操作成功', $force_out = false)
{
$result = [
'msg' => $msg,
'data' => $out_data
];
$param = $_POST ?: $_GET;
setlog($param, $result, CONTROLLER_NAME . '/' . ACTION_NAME, C('DB_NAME') . '_success.log');
$this->setErr(0, $msg);
if ($out_data || $force_out) {
$this->setAttr('data', $out_data !== null ? $out_data : []); // null的时候返回空
}
$this->Send();
} /**
* 输出json
* @param array $out_data
* @param string $msg
* @param bool $force_out 强制展示结果
*/
public function S($out_data = [], $msg = '操作成功', $force_out = false)
{
$result = [
'msg' => $msg,
'data' => $out_data
];
$param = $_POST ?: $_GET;
setlog($param, $result, CONTROLLER_NAME . '/' . ACTION_NAME, C('DB_NAME') . '_success.log');
$this->setErr(0, $msg);
if ($out_data || $force_out) {
$this->setAttr('data', $out_data !== null ? $out_data : []); // null的时候返回空
}
$this->Send();
}
// 全局通用日志工具
function setlog($param = [],$result = [],$name='',$filename = 'm.log',$path = '/tmp/log/'){
// 没有目录则创建目录
if (!mkdir($path, 0777, true) && !is_dir($path)) {
throw new \RuntimeException(sprintf('目录 "%s" 创建失败', $path));
} // 目录,权限,递归 if ($result && $param) {
$arr = array(
'param' => $param,
'result' => $result,
'name' => $name,
'time' => date('Y-m-d H:i:s')
);
} else {
$arr = array(
'content' => $param ?:$result,
'name' => $name,
'time' => date('Y-m-d H:i:s')
);
} file_put_contents($path.$filename,var_export($arr,true).PHP_EOL,FILE_APPEND);
}

可以有效的记录,每个接口下的错误日志,参数与返回数据。

最新文章

  1. Linux基础介绍【第二篇】
  2. iOS项目groups和folder的区别(组和文件夹)
  3. OpenLayers的定制
  4. Python Day4
  5. ThinkPHP 下如何隐藏index.php
  6. [转] c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求
  7. 【java 上传+下载】
  8. netstat大量time_wait连接
  9. 转:Google论文之二----Google文件系统(GFS)翻译学习
  10. Retinex processing for automatic image enhancement 翻译
  11. HDOJ 3966 Aragorn's Story
  12. javascript 手势(swipeLeft,swipeRight)滑动中使用css3动画卡顿,开启硬件加速
  13. 使用Maven的assembly插件实现自定义打包
  14. 关于WinSock编程的多线程控制
  15. linux php7 安装redis扩展
  16. leetcode155
  17. 【SQL】where 后不可以接聚合函数,都哪些是聚合函数?
  18. 为什么使能RPS/RFS, 或者RSS/网卡多队列后,QPS反而下降?
  19. mysql进程挂了
  20. hadoop组件概念理解

热门文章

  1. [JXOI2017]颜色
  2. Word 有哪些神奇的功能?
  3. C++11多线程std::thread创建方式
  4. centos7 浏览器(firefox)中文乱码
  5. selenium鼠标下滑操作
  6. ICEM-圆柱与长方体相切
  7. 制作 ESXI6.7 U盘安装盘并用其安装
  8. Ajax 是什么? 如何创建一个Ajax?
  9. Redis操作类型
  10. hystrix流程图收藏