在 Apache HTTP Server 中,“日志级别”通常指 错误日志(ErrorLog)的日志级别,而不是访问日志(AccessLog)。下面分情况说明如何调整。
编辑 Apache 配置文件(位置因系统而异):
/etc/httpd/conf/httpd.conf
/etc/apache2/apache2.conf
找到或添加:
LogLevel warn
| 级别 | 说明 |
|---|---|
emerg |
系统不可用 |
alert |
必须立即处理 |
crit |
严重错误 |
error |
错误 |
warn |
警告(默认) |
notice |
正常但值得注意 |
info |
信息 |
debug |
调试(非常详细) |
✅ 生产环境建议:warn 或 error
✅ 排查问题时:临时改为 info 或 debug
Apache 支持 模块级日志级别,非常实用。
LogLevel warn
LogLevel mod_ssl:debug
LogLevel mod_rewrite:trace8
LogLevel mod_proxy:debug
LogLevel mod_php:error
LogLevel mod_auth:info
⚠️ trace1 ~ trace8 比 debug 更详细,仅用于排查问题。
访问日志 没有“级别”概念,只有格式和是否记录。
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common
如果你是想 减少访问日志量,可以:
CustomLog /dev/null common
CustomLog logs/access_log common "expr=%{REQUEST_STATUS} >= 400"
# CentOS / RHEL
systemctl restart httpd
# Ubuntu / Debian
systemctl restart apache2
/var/log/httpd/error_log
/var/log/apache2/error.log
/var/log/httpd/access_log
/var/log/apache2/access.log
✅ 问题定位时
LogLevel debug
✅ 模块问题
LogLevel mod_proxy:debug
✅ 热重现问题后记得恢复
LogLevel warn
如果你愿意,可以告诉我:
我可以给你一份精准配置示例。