前言:
今天在处理问题的时候发现用户的网站访问时候提示查询数据库失败,排查到目录下的data/Runtime/Home/Logs目录下日志占用特别大导致磁盘空间占用100%
问题表现
查看磁盘使用情况
查看了下这些log日志,大概是网站访问时候生成的日志,包含所有级别的日志,那么有没有方法可以解决只记录error级别的日志呢?
答案是有的
1、打开Debug模式的配置文件,我这个用户的在ThinkPHP/Conf/debug.php,直接复制到你的文件内容里进行覆盖,注意ThinkPHP的版本
defined('THINK_PATH') or exit();
// 调试模式下面默认设置 可以在应用配置目录下重新定义 debug.php 覆盖
return array(
'LOG_RECORD' => false, // 进行日志记录
'LOG_EXCEPTION_RECORD' => false, // 是否记录异常信息日志
'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL', // 允许记录的日志级别
'DB_FIELDS_CACHE' => false, // 字段缓存信息
'DB_DEBUG' => false, // 开启调试模式 记录SQL日志
'TMPL_CACHE_ON' => false, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行
'SHOW_ERROR_MSG' => false, // 显示错误信息
'URL_CASE_INSENSITIVE' => false, // URL区分大小写
);
2、打开网站目录下的index.php找到define(‘APP_DEBUG’, true);这个一行,改成
define('APP_DEBUG', false);
然后就会发现日志目录里记录的就只剩下error级别的额日志信息了
注意:
本文是结合用户的实际场景分享的解决方案,如果您那边跟我这里不符,请到ThinkPHP官方查看文档解决您的问题,如果能帮到您,请点赞关注,会不定期分享干货!