是否可以在nginx日志中记录自定义标头的默认值

时间:2016-10-24 15:03:18

标签: nginx

我正在使用自定义日志格式提取自定义标头值并将其记录在访问日志文件中:

log_format custom  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" "$http_user_agent" '
    '$http_my_custom_header'

当记录不包含标头的请求时,ngx_http_log_module会在日志中插入-。是否可以为缺少的标题定义默认值?我需要标题总是有一个数值,以便以后在elasticsearch中进行索引。

我有一个使用map的解决方法,在缺席时将标头值设置为0

map $http_my_custom_header $custom_header {
    default $http_my_custom_header;
    '' 0;
}
log_format custom  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" "$http_user_agent" '
    '$custom_header'

我希望有一个更优雅的解决方案,因为我将来会添加更多标题。

0 个答案:

没有答案