log_name
출처: Caddy 공식 문서
본문
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"
}
}