项目运行时间长了,就会发现日志文件加占用的空间特别大,现就控制日志写入和日志自动清理两种方式解决此问题:
一,控制日志写入
TP5手册说明:系统并未提供关闭日志的方法,但有两种方式可以关闭日志的写入
方式一:设置日志类型为test,即可不写入任何日志。
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'test',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => [],
],
方式二:设置日志记录级别。配置文件-->log设置为error级别,这样就只记录错误日志。
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => ['error'],//['log', 'error', 'info', 'sql', 'notice', 'alert', 'debug']
],
TP对系统的日志按照级别来分类,并且这个日志级别完全可以自己定义,系统内部使用的级别包括:
- log - 常规日志,用于记录日志
- error - 错误,一般会导致程序的终止
- notice - 警告,程序可以运行但是还不够完美的错误
- info - 信息,程序输出信息
- debug - 调试,用于调试信息
- sql - SQL语句,用于SQL记录,只在数据库的调试模式开启时有效
二,日志自动清理
5.0.16+版本开始,支持文件日志的自动清理功能,设置 'max_files' => 20 则日志文件最多只会保留20个,超过会自动清理较早的日志文件,避免日志文件长期写入占满磁盘空间。【这里的20是指文件个数,不是一个文件中的条数,注意是5.016以上版本】
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => [],
'max_files' => 20,
],
谨此记录,后续更新。