当前位置:网站首页>php 日志调试
php 日志调试
2022-07-04 12:50:00 【ζ荷逸こ】
/** * 仅用于日志调试 * * @param string|array $content 日志内容 * @param bool $json 是否采用JSON格式存储 * @param bool $append 是否采用追加模式记录日志 * @param string $filename 文件名(考虑到权限问题,统统压入/tmp目录) * * @return int */
if (!function_exists("debug")) {
function debug($content, $json = true, $append = true, $filename = "debug", $base_dir = "/tmp/")
{
if (empty($filename) || empty($content)) return 0;
$filename = str_replace("/", "", $filename);
$filename = str_replace("\\", "", $filename);
// if ("linux" == strtolower(PHP_OS)) {
// $dir = !empty($base_dir) ? $base_dir : (env("CACHE_DIR") ? env("CACHE_DIR") . "/logs/" : "/tmp/");
// } else {
// $dir = env("CACHE_DIR") ? CACHE_DIR : 'C:\\';
// }
$dir = storage_path('logs/' . date('Ymd'));
$rs = true;
//if (!is_dir($dir)) {
$rs = @mkdir($dir, 0755, true);
//}
if (empty($rs)) $dir = "/tmp/";
$filename = $dir . DIRECTORY_SEPARATOR . $filename . ".log";
if (!empty($json)) {
$content = json_encode($content, JSON_UNESCAPED_UNICODE);
} else {
$content = var_export($content, true);
}
$client_ip = getClientIp();
$log_time = date('Y-m-d H:i:s', time());
$content = "【" . $log_time . " | {
$client_ip}】" . $content . "\r\n";
if (empty($append)) {
$rs = file_put_contents($filename, $content);
} else {
$rs = file_put_contents($filename, $content, FILE_APPEND);
}
return $rs;
}
}
边栏推荐
猜你喜欢
吃透Chisel语言.12.Chisel项目构建、运行和测试(四)——Chisel测试之ChiselTest
【R语言数据科学】:交叉验证再回首
Redis —— How To Install Redis And Configuration(如何快速在 Ubuntu18.04 与 CentOS7.6 Linux 系统上安装 Redis)
MySQL version 8 installation Free Tutorial
DGraph: 大规模动态图数据集
MySQL45讲——学习极客时间MySQL实战45讲笔记—— 06 | 全局锁和表锁_给表加个字段怎么有这么多阻碍
Huahao Zhongtian sprint Technology Innovation Board: perte annuelle de 280 millions de RMB, projet de collecte de fonds de 1,5 milliard de Beida Pharmaceutical est actionnaire
392. 判断子序列
Qt如何实现打包,实现EXE分享
一次 Keepalived 高可用的事故,让我重学了一遍它
随机推荐
MySQL5免安装修改
MySQL8版本免安装步骤教程
安装trinity、解决报错
Redis —— How To Install Redis And Configuration(如何快速在 Ubuntu18.04 与 CentOS7.6 Linux 系统上安装 Redis)
[C question set] of VII
30:第三章:开发通行证服务:13:开发【更改/完善用户信息,接口】;(使用***BO类承接参数,并使用了参数校验)
392. 判断子序列
硬件基础知识-二极管基础
吃透Chisel语言.04.Chisel基础(一)——信号类型和常量
好博医疗冲刺科创板:年营收2.6亿 万永钢和沈智群为实控人
Node の MongoDB安装
学习项目是自己找的,成长机会是自己创造的
Install Trinity and solve error reporting
Flet tutorial 03 basic introduction to filledbutton (tutorial includes source code) (tutorial includes source code)
mac redis安装与使用,连接远程服务器 redis
MySQL 45 lecture - learn the actual combat notes of MySQL in Geek time 45 lecture - 06 | global lock and table lock_ Why are there so many obstacles in adding a field to the table
2022 Shandong Province safety officer C certificate examination question bank and online simulation examination
嵌入式编程中五个必探的“潜在错误”
担心“断气” 德国正修改《能源安全法》
go vendor 项目迁移到 mod 项目