1

是否可以在 VCL 中使用 std.log 输出ReqEnd?我想在 varnishncsa 日志记录中使用 ReqEnd。

4

1 回答 1

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"

于 2012-12-17T20:35:15.313 回答