log_name
在使用 log 指令写入访问日志时,覆盖当前请求要使用的日志器名称。
当你想根据请求路径或方法等条件,将请求记录到不同文件时,此指令很有用。
可以指定多个日志器名称,这样请求日志会被推送到多个匹配的日志器。
它通常与 log 指令的 no_hostname 选项配合使用。该选项会防止日志器关联到站点块的任何主机名,因此只有设置了 log_name 的请求才会将日志推送到该日志器。
语法
log_name [<matcher>] <names...>
示例
你可能希望将请求记录到不同文件中,例如把健康检查日志与主要访问日志分开。
在 log 中使用 no_hostname 可以防止日志器关联到站点块的任何主机名(此处为 localhost),因此只有设置了对应 log_name 的请求才会写入该日志器。
localhost { log { output file ./caddy.access.log } log health_check_log { output file ./caddy.access.health.log no_hostname } handle /healthz* { log_name health_check_log respond "Healthy" } handle { respond "Hello World" } }