Apache 日志详解: Difference between revisions

From 清冽之泉
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
Apache 日志分三个层次,分别是访问日志、状态日志、自造日志。
Apache 日志分三个层次,分别是访问日志、状态日志、自造日志。
Access Log 记录:
# 谁访问了
# 访问了什么
# 返回什么状态码
Error Log 记录:
# 模块警告
# 配置错误
# 程序异常
# 权限错误
# SSL问题


== 生效条件 ==
== 生效条件 ==

Revision as of 17:29, 8 April 2026

Apache 日志分三个层次,分别是访问日志、状态日志、自造日志。

Access Log 记录:

  1. 谁访问了
  2. 访问了什么
  3. 返回什么状态码

Error Log 记录:

  1. 模块警告
  2. 配置错误
  3. 程序异常
  4. 权限错误
  5. SSL问题

生效条件

日志在以下情况才会产生:

  • 文件夹存在
  • apache 有文件夹的读写权限
  • 先有 LogFormat 定义日志格式:LogFormat "%h %l %u %t \"%r\" %>s %b" miaomiaomiao
  • 后有 CustomLog 生成日志:CustomLog /var/log/apache2/sth_debug.log miaomiaomiao
  • sudo systemctl reload apache2 重启一下

tail -f /var/log/apache2/sth_debug.log 可以查看新产生的日志。

四种能力

SetEnvIfNoCase User-Agent "^$" ua_empty

LogFormat "%h %l %u %t \"%r\" %>s %b ua=\"%{User-Agent}i\" empty=%{ua_empty}e" miaomiaomiao

CustomLog /var/log/apache2/anki_debug.log miaomiaomiao env=ua_empty
  1. SetEnvIfNoCase 设置环境变量。上述命令是把空请求头设置为 ua_empty
  2. %{User-Agent}i 进站请求头,i 是 incoming header
  3. %{ua_empty}e ua 这个环境变量
  4. env= 满足环境变量才记录