是否可以在VCL中使用std.log输出{{3}}?我想在varnishncsa logging中使用ReqEnd。
答案 0 :(得分:1)
我不知道您是否可以在varnishnsca中记录ReqEnd,但您可以记录请求的开始时间和xid。
vcl示例:
........
C{
#include <syslog.h>
#include <sys/time.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
}C
sub vcl_recv {
C{
struct timeval detail_time;
gettimeofday(&detail_time,NULL);
char start[20];
sprintf(start, "%lu%06lu", detail_time.tv_sec, detail_time.tv_usec);
VRT_SetHdr(sp, HDR_REQ, "\020X-Request-Start:", start, vrt_magic_string_end);
}C
........
sub vcl_deliver {
set resp.http.X-ID = req.xid;
}
.......
你可以看到它:varnishncsa -F "%{X-Request-Start}o %{X-ID}o"