TP框架如何开启log日志
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(必须):要记录的日志信息,字符串 |
返回值 |
无 |
Log::record方法必须结合Log::save方法才能完成日志记录,因为record方法只是把日志信息保存到内存,并没有真正写入日志,直到调用Log::save方法。
Log::save 保存记录的日志 |
|
用法 |
Log::save($type='',$destination='',$extra='') |
参数 |
type(可选):日志记录方式,默认为空取LOG_TYPE配置 |
返回值 |
无 |
使用示例:
- Log::record('测试调试错误信息', Log::DEBUG);
- Log::record('调试的SQL:'.$SQL, Log::SQL);
- Log::save();
TP框架如何开启log日志相关推荐
- Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...
- Android SIGABRT的可能原因及开启手机Log日志
问题:bugly中崩溃分析SIGABRT 手机信息: 例一: 设备机型:模拟器SIMULATOR ANDROID 系统版本:Android 6.0.1,level 23 ROM:OnePlus/One ...
- java gc log调优_Java 开启 gc 日志
构建一个 jar 包程序 使用 Spring Boot 构建一个简单的 web 程序,可以直接使用 java -jar 来启动. @RestController @RequestMapping(&qu ...
- mysql二进制日志开启方法_mysql中如何开启binlog?开启二进制日志文件?binary log?
需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...
- 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 ...
- 华为如何在开发者选项观察错误日志_爬虫scrapy框架--log日志输出配置及使用
1.在配置文件中设置日志输出文件名和日志等级 1.为什么以日期为文件名? 因为这样可以方便开发者查看每天的日志信息,同时也可以防止单文件log日志信息堆积的越来越多,所以将当天日志信息保存到当天的日志 ...
- php实现项目的日志记录功能,tp5框架使用composer实现日志记录功能示例
本文实例讲述了tp5框架使用composer实现日志记录功能.分享给大家供大家参考,具体如下: tp5实现日志记录 1.安装 psr/log composer require psr/log 它的作用 ...
- windows mysql 开启日志功能_Windows下开启mysql日志功能
Windows下开启mysql日志功能 Mysql日志功能默认是不打开的,毕竟打开日志,使用时间久了会占用很大空间. 方法: 找到MySql安装目录,修改 my.ini文件(在未设置的前提下) 在my ...
- tp框架中的一些疑点知识-5
关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...
最新文章
- js、jQuery、layer实现弹出层的打开、关闭
- 营销型网站优化攻略分享
- poj 1338 优先队列
- macOS/MacBook Air设置使用iCloud的APP
- Flutter下拉刷新,上拉加载更多数据
- 主板24pin接口详图_【图解】主板连线接口最详尽图文解释
- mysql存储过程实va_mysql-存储过程(二)-逻辑判断语句
- 大文件上传NeatUpload
- PyTorch 1.0 中文官方教程:Autograd:自动求导
- 阿里明确中国数字商业板块组织架构 全面聚焦客户体验
- python抽取数据库元数据_0797-使用HDP或CDP的Atlas采集CDH6的元数据和血缘
- 再说人行分数解读分的作用
- 防止HALCON刷新图像窗口控件闪烁
- 2016北京集训测试赛(十三) Problem B: 网络战争
- android逐行写入读取_Android外部存储-读取,写入,保存文件
- html邮箱留言板代码,求HTML留言板代码或模板?
- DSP2812之定时器
- 自平衡小车的原理和硬件设计
- pr导出的avi文件,如何才能被imageJ读read?
- 不能随便输入的“netsh winsock reset”
热门文章
- 小马哥----高仿红米note m8207 2015 0813纸标贴 刷机拆机主板图与开机识别图
- 第5章 不要让线程成为脱缰的野马(Keeping your Threads on Leash) ----初始化一个线程...
- 男孩看了会领悟,女孩看了会感动!!
- 苹果cms采集教程,设置定时采集方法
- 基于普遍应用市场需求,有开发一系列电动牙刷专用芯片及方案
- 【程序员觉醒】提高效率,增加输出
- 【181114】VC++制作木质相框源代码
- linux虚拟机能ping通windows主机,windows主机ping不通linux虚拟机
- matlab 股票分时图_Matlab实时监控股票交易数据之Timer函数应用实例
- 项目管理之授权,拿什么信任你,我的兄弟!