当前位置: 首页 > article >正文

ThinkPHP3改造自定义日志输出

概要

  • thinkPHP日志与网站模式有关,index.php中开启debug模式会默认记录很多日志体积很大,关闭debug模式只记录ERR以上级别,这两种都不太理想

debug模式

  1. 开启debug:index.php中开启
define('APP_DEBUG',true);
  1. 调整debug日志级别:ThinkPHP/Conf/debug.php
'LOG_LEVEL'   =>  'ERR',  // 只记录ERR,其他不记录
  1. 修改日志输入方式:ThinkPHP/library/Think/Log/Driver/File.class.php
//注释原来的:
// error_log("[{$now}] ".$_SERVER['REMOTE_ADDR'].' '.$_SERVER['REQUEST_URI']."\r\n{$log}\r\n", 3,$destination);
//定义后的日志变成一行,体积小
error_log("[{$now}]".CONTROLLER_NAME."/".ACTION_NAME."->{$log}\r\n", 3,$destination);
  1. 控制器方法中添加手动记录日志:
<?php
namespace Home\Controller;
use Think\Controller;
use think\Log;

class IndexController extends Controller {
    public function index(){
		
        $this->show('anything');
		Log::write('日志内容','日志标题');
    }
}
  • 效果:
[2024-09-14 12:00:00]Index/index->日志标题:日志内容

上线模式

  • 这个模式改造后会出问题,使用新版本可以解决这个问题

http://www.kler.cn/news/309586.html

相关文章:

  • setup函数子传父普通写法
  • 一般在写SQL时需要注意哪些问题,可以提高查询的效率?
  • adb install失败: INSTALL_PARSE_FAILED_NO_CERTIFICATES
  • JavaScript高级——闭包应用-自定义js模块
  • 『功能项目』窗口可拖拽脚本【59】
  • 设置spring boot禁止日志输出到控制台
  • c++中的二叉搜索树
  • 前端网络层性能优化
  • 【2024华为杯研究生数学建模竞赛】比赛思路、代码、论文更新中.....
  • 使用 Vue 3 和 TypeScript 实现带打字效果的仿 AI 分析展示组件
  • 【C/C++语言系列】指针数组、数组指针、函数声明和函数指针区别
  • Git 中的refs
  • Python异常处理:自定义异常②
  • 智慧体育场馆:科技引领未来运动体验
  • 【C语言进阶】动态内存与柔性数组:C语言开发者必须知道的陷阱与技巧
  • JAVA学习笔记01-变量的初始化
  • Medieval Fantasy Town Village Environment for RPG FPS 中世纪城镇环境
  • 时序数据库 TDengine 的入门体验和操作记录
  • 某oa命令执行漏洞挖掘思路
  • 网络安全。
  • 数学建模笔记——动态规划
  • Vue3中集成高德地图并实现平移缩放功能
  • 如何搭建一个ip池用来做数据抓取用
  • MFC工控项目实例之十四模拟量信号名称从文件读写
  • uniapp上使用document方案之renderjs
  • 回收站数据怎么恢复?用这 5 种方法,准能恢复回收站数据!
  • 基于SpringBoot+定时任务实现地图上绘制车辆实时运动轨迹图
  • Pr:Adobe SRT
  • React中forwardRef()的作用?
  • python多进程程序设计 之二