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

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

默认情况下只是在调试模式记录日志,要在部署模式开启日志记录,必须在配置中开启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语句,该级别只在调试模式开启时有效

2.thinkphp 项目日志输出类的目录为:TP/Lib/Core/Log.class.PHP

参考的thinkphp 开发手册如下:

通常日志文件的写入是自动完成的,如果我们需要在开发的过程中手动记录日志信息,可以使用Log类的方法来操作。日志文件的写入有两种方法:
一、使用Log::write 方法

Log::write 直接写入日志

用法

Log::write($message,$level=self::ERR,$type='',$destination='',$extra='')

参数

message(必须):要记录的日志信息,字符串

level(可选):要记录的日志级别,默认为ERR 错误

type(可选):日志记录方式,默认为空取LOG_TYPE配置

destination(可选):日志记录目标,默认为空自动生成或LOG_DEST配置

extra(可选):日志记录额外参数,默认为空取LOG_EXTRA配置

返回值

如:你要将$sql 变量写进日志: Log::write('调试的SQL:'.$SQL, Log::SQL);
表示用默认的日志记录方式记录调试SQL信息
二、使用Log::record和 Log::save方法

Log::record记录日志

用法

Log::record($message,$level=self::ERR,$record=false)

参数

message(必须):要记录的日志信息,字符串
level(可选):要记录的日志级别,默认为ERR 错误
record(可选):是否强制记录,默认为false表示判断LOG_LEVEL配置

返回值

Log::record方法必须结合Log::save方法才能完成日志记录,因为record方法只是把日志信息保存到内存,并没有真正写入日志,直到调用Log::save方法。

Log::save 保存记录的日志

用法

Log::save($type='',$destination='',$extra='')

参数

type(可选):日志记录方式,默认为空取LOG_TYPE配置
destination(可选):日志记录目标,默认为空自动生成或LOG_DEST配置
extra(可选):日志记录额外参数,默认为空取LOG_EXTRA配置

返回值

使用示例:

  1. Log::record('测试调试错误信息', Log::DEBUG);
  2. Log::record('调试的SQL:'.$SQL, Log::SQL);
  3. Log::save();

TP框架如何开启log日志相关推荐

  1. Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

    目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...

  2. Android SIGABRT的可能原因及开启手机Log日志

    问题:bugly中崩溃分析SIGABRT 手机信息: 例一: 设备机型:模拟器SIMULATOR ANDROID 系统版本:Android 6.0.1,level 23 ROM:OnePlus/One ...

  3. java gc log调优_Java 开启 gc 日志

    构建一个 jar 包程序 使用 Spring Boot 构建一个简单的 web 程序,可以直接使用 java -jar 来启动. @RestController @RequestMapping(&qu ...

  4. mysql二进制日志开启方法_mysql中如何开启binlog?开启二进制日志文件?binary log?

    需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...

  5. mysql 开启 slow log,mysql 5.5 开启慢日志slow log的方法(log_slow_queries)

    mysql 5.5 开启慢日志slow log的方法(log_slow_queries) 1.MySQL 5.5命令行里面 复制代码 代码如下: set global log_slow_queries ...

  6. 华为如何在开发者选项观察错误日志_爬虫scrapy框架--log日志输出配置及使用

    1.在配置文件中设置日志输出文件名和日志等级 1.为什么以日期为文件名? 因为这样可以方便开发者查看每天的日志信息,同时也可以防止单文件log日志信息堆积的越来越多,所以将当天日志信息保存到当天的日志 ...

  7. php实现项目的日志记录功能,tp5框架使用composer实现日志记录功能示例

    本文实例讲述了tp5框架使用composer实现日志记录功能.分享给大家供大家参考,具体如下: tp5实现日志记录 1.安装 psr/log composer require psr/log 它的作用 ...

  8. windows mysql 开启日志功能_Windows下开启mysql日志功能

    Windows下开启mysql日志功能 Mysql日志功能默认是不打开的,毕竟打开日志,使用时间久了会占用很大空间. 方法: 找到MySql安装目录,修改 my.ini文件(在未设置的前提下) 在my ...

  9. tp框架中的一些疑点知识-5

    关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...

最新文章

  1. js、jQuery、layer实现弹出层的打开、关闭
  2. 营销型网站优化攻略分享
  3. poj 1338 优先队列
  4. macOS/MacBook Air设置使用iCloud的APP
  5. Flutter下拉刷新,上拉加载更多数据
  6. 主板24pin接口详图_【图解】主板连线接口最详尽图文解释
  7. mysql存储过程实va_mysql-存储过程(二)-逻辑判断语句
  8. 大文件上传NeatUpload
  9. PyTorch 1.0 中文官方教程:Autograd:自动求导
  10. 阿里明确中国数字商业板块组织架构 全面聚焦客户体验
  11. python抽取数据库元数据_0797-使用HDP或CDP的Atlas采集CDH6的元数据和血缘
  12. 再说人行分数解读分的作用
  13. 防止HALCON刷新图像窗口控件闪烁
  14. 2016北京集训测试赛(十三) Problem B: 网络战争
  15. android逐行写入读取_Android外部存储-读取,写入,保存文件
  16. html邮箱留言板代码,求HTML留言板代码或模板?
  17. DSP2812之定时器
  18. 自平衡小车的原理和硬件设计
  19. pr导出的avi文件,如何才能被imageJ读read?
  20. 不能随便输入的“netsh winsock reset”

热门文章

  1. 小马哥----高仿红米note m8207 2015 0813纸标贴 刷机拆机主板图与开机识别图
  2. 第5章 不要让线程成为脱缰的野马(Keeping your Threads on Leash) ----初始化一个线程...
  3. 男孩看了会领悟,女孩看了会感动!!
  4. 苹果cms采集教程,设置定时采集方法
  5. 基于普遍应用市场需求,有开发一系列电动牙刷专用芯片及方案
  6. 【程序员觉醒】提高效率,增加输出
  7. 【181114】VC++制作木质相框源代码
  8. linux虚拟机能ping通windows主机,windows主机ping不通linux虚拟机
  9. matlab 股票分时图_Matlab实时监控股票交易数据之Timer函数应用实例
  10. 项目管理之授权,拿什么信任你,我的兄弟!