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