文档
一个 项目

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