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 "健康"
}
handle {
respond "你好,世界"
}
}