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"
}
}