日志记录
- 日志配置
application/config.php
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => ['error','notice','debug','sql'],
],
-
日志关闭的方式
- 设置日志类型为
test
- 设置日志记录级别
- 设置日志类型为
-
日志级别
- log 常规日志,用于记录日志
- error 错误,一般会导致程序的终止
- notice 警告,程序可以运行但是还不够完美的错误
- info 信息,程序输出信息
- debug 调试,用于调试信息
- sql SQL语句,用于SQL记录,只在数据库的调试模式开启时有效
-
记录日志的几种方式
- Log::write(‘message’,‘info’),实时写入一条日志信息
- Log::record(‘message’,‘info’),写到内存中,等系统请求结束后会自动写入
- trace(‘message’,‘info’)
- 在应用日志配置关闭的情况下:Log::init()进行手动记录
在开发环境可以通过打印变量和调试来发现错误并纠正,但是如果在生产环境中是不允许随意修改来调试错误,
只有等到新版本系统出来才能去改动生产环境的代码,生产环境通过日志(最好的方法)来排查错误。
很多信息如果都作为日志去记录,则会出现很多无意义的记录信息,不仅耗费了很大的硬盘内存资源,同时也影响了错误的排查。
TP5默认会记录全部(即使你设置了配置项level),需要手动关闭,然后有选择的来记录日志。
- 自定义全局日志记录
//首先关闭系统日志记录配置,然后再入口文件最下面添加如下代码
\think\Log::init([
'type' => 'File',
'path' => LOG_PATH,
'level' => ['error']
]);
//然后再想要记录日志的地方写入日志即可
Log::record('message','error');
//如果使用的是write方法,则记录的会有其他信息,这是我们不希望的,不便于调试
错误和调试
- 开启调试模式
app_debug = true
- 变量调试
- dump
- halt
- 性能调试
开发过程中,有些时候为了测试性能,经常需要调试某段代码的运行时间或者内存占用开销
- 使用
Debug
类
Debug::remark('begin');
- 使用