使用标准输出清漆输出ReqEnd

时间:2012-11-23 11:10:44

标签: varnish varnish-vcl

是否可以在VCL中使用std.log输出{{​​3}}?我想在varnishncsa logging中使用ReqEnd。

1 个答案:

答案 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"