diff -NurpP varnish-2.0.4.orig/bin/varnishncsa/varnishncsa.c varnish-2.0.4/bin/varnishncsa/varnishncsa.c --- varnish-2.0.4.orig/bin/varnishncsa/varnishncsa.c 2009-04-01 15:35:14.000000000 +0200 +++ varnish-2.0.4/bin/varnishncsa/varnishncsa.c 2009-06-11 11:45:44.084537099 +0200 @@ -102,6 +102,7 @@ static struct logline { static size_t nll; static int prefer_x_forwarded_for = 0; +static int virtual_host_style_logging = 0; static int isprefix(const char *str, const char *prefix, const char *end, @@ -399,6 +400,11 @@ h_ncsa(void *priv, enum shmlogtag tag, u if (!lp->bogus) { fo = priv; + /* the -v option */ + if (virtual_host_style_logging) { + fprintf(fo, "%s ", lp->df_Host); + } + /* %h */ if (!lp->df_h && spec & VSL_S_BACKEND) fprintf(fo, "127.0.0.1 "); @@ -438,7 +444,7 @@ h_ncsa(void *priv, enum shmlogtag tag, u * normalized the request URL. */ fprintf(fo, "\"%s ", lp->df_m); - if (lp->df_Host) { + if (!virtual_host_style_logging && lp->df_Host) { if (strncmp(lp->df_Host, "http://", 7) != 0) fprintf(fo, "http://"); fprintf(fo, "%s", lp->df_Host); @@ -512,7 +518,7 @@ usage(void) { fprintf(stderr, - "usage: varnishncsa %s [-aDV] [-n varnish_name] " + "usage: varnishncsa %s [-avDV] [-n varnish_name] " "[-P file] [-w file]\n", VSL_USAGE); exit(1); } @@ -531,11 +537,14 @@ main(int argc, char *argv[]) vd = VSL_New(); - while ((c = getopt(argc, argv, VSL_ARGS "aDn:P:Vw:f")) != -1) { + while ((c = getopt(argc, argv, VSL_ARGS "avDn:P:Vw:f")) != -1) { switch (c) { case 'a': a_flag = 1; break; + case 'v': + virtual_host_style_logging = 1; + break; case 'f': prefer_x_forwarded_for = 1; break;