log_subrequest
指令 `log_subrequest` 控制是否在 NGINX 的错误日志中记录子请求。 — NGINX HTTP Core
log_subrequest
httpserverlocation
语法log_subrequest on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
在 `http`、`server` 和 `location` 上下文中使用的 `log_subrequest` 指令允许你指定服务器发起的子请求是否应该被记录。子请求是 NGINX 发起的内部请求,通常由诸如 `include` 或 `try_files` 等指令生成。默认情况下,这些子请求的日志可能会淹没主错误日志,使得难以发现重要问题。该指令可以让你抑制这些日志,确保主日志仅包含重要的顶层请求信息。 启用时(设置为 `on`),子请求将以错误级别记录,这意味着在这些内部请求期间发生的任何问题都会记录到 NGINX 的错误日志中。相反,将其设置为 `off` 会禁用对子请求的记录,从而减少日志数据量。这在高流量场景尤其有用,因为子请求可能很多,记录每个子请求会影响性能并导致日志文件变得庞大且难以管理。 该指令的语法很简单,接受一个标志值;因此可以轻松地以最小的工作量集成到现有配置中。建议根据监控需求与文件大小或性能之间的权衡谨慎使用,并且可以在每个上下文中应用以细化日志中捕获的信息。
配置示例
http {
log_subrequest on;
server {
location /example {
try_files $uri /subrequest;
}
}
}⚠
请注意,记录大量 subrequests 可能会导致日志文件变大,从而影响性能和日志文件管理。
⚠
请记得在启用日志记录时,将错误日志级别适当配置,以捕获与 subrequests 相关的详细错误信息。