thinkphp日志记录配置教程

thinkphp日志记录配置教程

thinkphp 日志记录

日志的处理工作是由系统自动进行的,在开启日志记录的情况下,会记录下允许的日志级别的所有日志信息。

其中,为了性能考虑,SQL日志级别必须在调试模式开启下有效,否则就不会记录。 系统的日志记录由核心的ThinkLog类及其驱动完成,提供了多种方式记录了不同的级别的日志信息。

默认情况下只是在调试模式记录日志,要在部署模式开启日志记录,必须在配置中开启LOG_RECORD参数,以及可以在应用配置文件中配置需要记录的日志级别,例如:

'LOG_RECORD' => true, // 开启日志记录'LOG_LEVEL' =>'EMERG,ALERT,CRIT,ERR', // 只记录EMERG ALERT CRIT ERR 错误

日志级别

ThinkPHP对系统的日志按照级别来分类,包括:

EMERG 严重错误,导致系统崩溃无法使用ALERT 警戒性错误, 必须被立即修改的错误CRIT 临界值错误, 超过临界值的错误ERR 一般性错误WARN 警告性错误, 需要发出警告的错误NOTICE 通知,程序可以运行但是还不够完美的错误INFO 信息,程序输出信息DEBUG 调试,用于调试信息SQL SQL语句,该级别只在调试模式开启时有效

记录方式

日志的记录方式默认是文件方式,可以通过驱动的方式来扩展支持更多的记录方式。

立即学习“PHP免费学习笔记(深入)”;

记录方式由LOG_TYPE参数配置,例如:

'LOG_TYPE' => 'File', // 日志记录类型 默认为文件方式

File方式记录,对应的驱动文件位于系统的Library/Think/Log/Driver/File.class.php

手动记录

一般情况下,系统的日志记录是自动的,无需手动记录,但是某些时候也需要手动记录日志信息,Log类提供了3个方法用于记录日志。

方法 描述

Log::record()记录日志信息到内存Log::save()把保存在内存中的日志信息(用指定的记录方式)写入Log::write()实时写入一条日志信息

由于系统在请求结束后会自动调用Log::save方法,所以通常,你只需要调用Log::record记录日志信息即可。

水彩风格铃兰边框矢量模板 水彩风格铃兰边框矢量模板

水彩风格铃兰边框矢量模板适用于广告设计、插画UI、摄影配图、手账和日记本、日程规划表、笔记本和学习资料、贺卡和邀请函、旅行日志、食谱和烹饪手册、儿童教育书籍、个人博客和社交媒体等相关设计的AI格式素材。

水彩风格铃兰边框矢量模板 1 查看详情 水彩风格铃兰边框矢量模板

record方法用法如下:

ThinkLog::record('测试日志信息');

默认的话记录的日志级别是ERR,也可以指定日志级别:

ThinkLog::record('测试日志信息,这是警告级别','WARN');

record方法只会记录当前配置允许记录的日志级别的信息,如果应用配置为:

'LOG_LEVEL' =>'EMERG,ALERT,CRIT,ERR', // 只记录EMERG ALERT CRIT ERR 错误

那么上面的record方法记录的日志信息会被直接过滤,或者你可以强制记录:

ThinkLog::record('测试日志信息,这是警告级别','WARN',true);

采用record方法记录的日志信息不是实时保存的,如果需要实时记录的话,可以采用write方法,例如:

ThinkLog::write('测试日志信息,这是警告级别,并且实时写入','WARN');

write方法写入日志的时候 不受配置的允许日志级别影响,可以实时写入任意级别的日志信息。

推荐教程:《TP5》

以上就是thinkphp日志记录配置教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/733109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月25日 11:49:38
下一篇 2025年11月25日 12:02:25

相关推荐

  • php连接redis数据库的方法_php操作redis完整指南

    本文详细介绍PHP连接和操作Redis的方法,包括安装扩展、建立连接、执行常用命令、使用事务与管道、处理异常、实现缓存、发布/订阅、Lua脚本、集群连接及性能监控,涵盖从基础到高级的完整应用方案。 直接回答:本文将详细介绍如何在PHP中连接和操作Redis数据库,包括连接方法、常用命令以及一些高级用…

    2025年12月10日
    000
  • PHP文件用什么软件打开?NetBeans如何高效编辑PHP代码

    NetBeans在PHP开发中优势显著,提供免费开源、完善的项目管理、强大的调试支持及代码辅助功能,适合大型项目;但存在资源占用高、界面老旧、插件生态有限和启动慢等不足。通过正确配置PHP解释器、Xdebug调试端口、代码格式化规则、代码模板及JVM内存优化,可大幅提升开发效率与调试体验。其他推荐工…

    2025年12月10日
    000
  • php如何写入文件_php写入和追加文件操作

    PHP文件写入与追加的核心是使用fopen()函数配合’w’或’a’模式,结合fwrite()写入数据并用fclose()关闭文件。’w’模式会覆盖文件内容,适用于创建新文件或重置日志;’a’模式则在文件…

    2025年12月10日
    000
  • php中什么是命名空间 php命名空间namespace用法详解

    命名空间用于解决PHP中标识符冲突,通过namespace声明,use导入,支持别名、批量导入及自动加载,实现类、函数、常量的高效组织与访问。 命名空间,简单来说,就是为了解决PHP中类名、函数名等标识符冲突的问题。它就像一个文件系统里的目录,不同的目录可以有同名的文件,只要路径不同就行。在PHP中…

    2025年12月10日
    000
  • PHP在线执行如何处理JSON数据?解析与生成JSON的实用方法详解

    PHP处理JSON数据主要通过其内置的 json_decode() 和 json_encode() 函数实现。 json_decode() 用于将JSON格式的字符串解析成PHP变量(通常是数组或对象),而 json_encode() 则负责将PHP变量转换成JSON格式的字符串。这两个函数是PHP…

    2025年12月10日
    000
  • php中如何获取文件扩展名 php获取文件后缀名的函数

    最推荐使用pathinfo()函数获取文件扩展名,它简单且处理各种情况。例如:$extension = pathinfo($filename, PATHINFO_EXTENSION); 可直接获取扩展名,若文件无扩展名则返回空,需做存在性判断。其他方法如explode()、strrchr()、正则等…

    2025年12月10日
    000
  • 如何将PHP字符串转为多维数组?嵌套分割方法详解

    答案:通过逐层explode分割字符串并结合防御性编程,可将多层分隔的PHP字符串转为多维数组,关键在于自顶向下处理分隔符并确保数据健壮性。 将PHP字符串转换为多维数组,核心思路就是通过多次 explode 操作,逐层剥离分隔符,最终构建出我们想要的嵌套结构。这通常意味着你需要识别字符串中不同层级…

    2025年12月10日
    000
  • PHP字符串转数组后如何快速查找?array_search使用方法

    最直接的方法是使用array_search()查找元素位置或in_array()判断存在性。先用explode()将字符串转为数组,再用array_search()返回键名(找不到返回false),需用!== false判断;若仅需判断存在性,in_array()更简洁高效。 将PHP字符串转换为数…

    2025年12月10日
    000
  • php中如何抛出和捕获异常_php异常处理最佳实践

    PHP异常处理通过throw抛出、try-catch捕获,结合finally实现资源清理,推荐使用自定义异常提升错误语义清晰度,结合日志记录与set_exception_handler全局兜底,避免吞噬异常或用异常控制流程,确保代码健壮性与可维护性。 在PHP中,抛出异常主要通过 throw 关键字…

    2025年12月10日
    000
  • php中如何实现重定向 php页面重定向的header函数用法

    使用header()函数是PHP中实现页面重定向最直接的方法,需在输出前调用并配合exit()防止脚本继续执行;推荐使用绝对路径或根相对路径避免跳转错误;传递数据可选URL参数(适合少量非敏感数据)或Session(适合敏感或大量数据,需及时清理);根据场景选择合适的HTTP状态码:302(默认,临…

    2025年12月10日
    000
  • 如何在PHP在线执行中连接数据库?实现MySQL与PHP的无缝数据交互

    答案是使用PDO扩展连接MySQL更推荐。PDO支持多种数据库、提供一致的API、增强的安全性(如原生预处理语句防止SQL注入),并通过try-catch机制实现优雅的错误处理,同时结合htmlspecialchars防范XSS攻击,适合现代Web应用开发。 在PHP在线执行环境中连接MySQL数据…

    2025年12月10日 好文分享
    000
  • PHP在线执行如何处理CSV文件?读取与写入CSV数据的完整教程

    答案:PHP处理CSV文件核心是fgetcsv()和fputcsv()函数,通过文件上传、服务端读写、下载流程操作。读取时需处理BOM和编码转换,推荐使用生成器流式处理大文件以节省内存;写入时应添加UTF-8 BOM确保兼容性,支持直接输出下载;安全方面需验证文件类型、大小、路径,防止路径遍历,统一…

    2025年12月10日
    000
  • 如何防止PHP代码被静态分析?通过混淆与加密结合的防护技术是什么?

    答案:结合代码混淆与加密可有效提升PHP代码防护,通过混淆增加静态分析难度,再以加密确保代码仅在运行时解密执行,形成多层防御。首先对变量、函数名重命名,移除注释与空白,加密敏感字符串,并采用控制流混淆和代码压缩,使代码难以阅读;其次将核心代码用AES等算法加密存储,配合Loader在运行时解密并执行…

    2025年12月10日
    000
  • php中如何验证邮箱格式 php验证邮箱地址的正则表达式

    答案:推荐结合filter_var和正则表达式,因filter_var提供基础验证,正则可增强格式准确性,两者结合提升邮箱验证可靠性。 php验证邮箱格式,核心在于使用正则表达式进行匹配,当然,你也可以结合 filter_var 函数,让验证更可靠。 为什么推荐结合 filter_var 和正则表达…

    2025年12月10日
    000
  • php中如何使用gd库_php图像处理gd库教程

    答案:GD库是PHP图像处理核心工具,通过phpinfo()可检测是否安装,常用功能包括创建图像、绘制文字、调整大小、添加水印等,处理中文需使用UTF-8字体并设置编码,掌握GD库可实现Web开发中各类图像操作需求。 GD库是PHP中处理图像的强大工具,它允许你创建、修改和输出各种图像格式。简单来说…

    2025年12月10日
    000
  • 如何使用在线PHP工具测试表单处理?有哪些实用案例分享?

    在线PHP工具在表单测试中核心价值是快速验证数据提交与接收,适合无本地环境时调试表单字段、方法及简单逻辑;其局限在于不支持数据库、文件上传和会话管理,且存在敏感数据泄露风险;适用于快速验证结构、简单校验、Ajax调试及教学场景;涉及复杂功能时应转向本地环境(如XAMPP)、Docker或使用Post…

    2025年12月10日
    000
  • php如何生成随机数_php生成随机字符串的多种方法

    生成随机字符串需结合随机数函数与字符集操作,常用mt_rand()或random_bytes()。首先定义字符集,再通过随机索引选取字符拼接成串,其中random_bytes()更适用于安全敏感场景。 PHP生成随机数主要依靠 rand() 、 mt_rand() 或 random_int() 函数…

    2025年12月10日
    000
  • php中如何使用ajax_php与ajax交互实例教程

    答案:Ajax通过JavaScript与PHP异步通信,实现页面局部更新。用户输入名字后,前端用Fetch API发送POST请求,PHP接收JSON数据并返回问候语,前端再更新显示内容,全程无需刷新页面,提升用户体验。 在PHP中利用Ajax进行交互,核心在于客户端(通常是浏览器中的JavaScr…

    2025年12月10日
    000
  • php如何操作cookie_php设置和获取cookie的方法

    PHP通过setcookie()设置Cookie,$_COOKIE获取,需关注有效期、路径、域及安全属性;httponly防XSS,samesite防CSRF,secure确保HTTPS传输,Session存敏感数据更安全,二者常结合使用。 PHP操作Cookie主要通过 setcookie() 函…

    2025年12月10日
    000
  • php实现webservice接口_php开发webservice教程

    答案:PHP中实现WebService接口主要依赖SOAP扩展,通过SoapServer和SoapClient类分别实现服务端与客户端,支持WSDL和非WSDL模式。核心步骤包括定义业务逻辑类、配置SOAP服务、处理复杂数据类型与错误机制,并在部署时考虑安全性、性能优化及可伸缩性。SOAP适用于企业…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信