Apache日志管理实践指南
一 基础配置与日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
说明:
apachectl configtest 或 apache2ctl configtest,再重载服务。二 日志轮转方案
/var/log/apache2/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 0644 root adm
sharedscripts
postrotate
/usr/sbin/apachectl graceful >/dev/null 2>&1 || true
endscript
}
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/error_%Y%m%d.log 86400"
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/access_%Y%m%d.log 86400" combined
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_%Y-%m-%d-%H_%M_%S.log 5M" combined
CustomLog "|/usr/local/sbin/cronolog /var/log/apache2/access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog /var/log/apache2/error_%Y%m%d.log"
三 日志过滤与降噪
ErrorLog ${APACHE_LOG_DIR}/error.log
SetEnvIf Request_URI "\.(gif|jpg|jpeg|png|bmp|swf|js|css)$" image-request
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!image-request
四 日志级别与性能优化
LogLevel warn
# 或
LogLevel info
systemctl reload apache2 或 systemctl reload httpd。五 分析与集中化
tail -f /var/log/apache2/access.log | grep 500grep "10/Nov/2025:14" access.log