[master] 4e7def9 Group requests by default in varnishlog

Tollef Fog Heen tfheen at varnish-cache.org
Fri May 6 18:18:00 CEST 2011


commit 4e7def9fb8cb0c760d4bd47a851acd11abfcbcd4
Author: Tollef Fog Heen <tfheen at varnish-software.com>
Date:   Fri May 6 18:16:59 2011 +0200

    Group requests by default in varnishlog
    
    Add -O option to turn off grouping.
    
    Get rid of blank line separating requests.

diff --git a/bin/varnishlog/varnishlog.c b/bin/varnishlog/varnishlog.c
index df6a7bd..c6373f6 100644
--- a/bin/varnishlog/varnishlog.c
+++ b/bin/varnishlog/varnishlog.c
@@ -65,7 +65,7 @@ h_order_finish(int fd, struct VSM_data *vd)
 
 	AZ(vsb_finish(ob[fd]));
 	if (vsb_len(ob[fd]) > 1 && VSL_Matched(vd, bitmap[fd])) {
-		printf("%s\n", vsb_data(ob[fd]));
+		printf("%s", vsb_data(ob[fd]));
 	}
 	bitmap[fd] = 0;
 	vsb_clear(ob[fd]);
@@ -274,7 +274,7 @@ int
 main(int argc, char * const *argv)
 {
 	int c;
-	int a_flag = 0, D_flag = 0, o_flag = 0, u_flag = 0;
+	int a_flag = 0, D_flag = 0, O_flag = 0, u_flag = 0, m_flag = 0;
 	const char *P_arg = NULL;
 	const char *w_arg = NULL;
 	struct pidfh *pfh = NULL;
@@ -283,7 +283,7 @@ main(int argc, char * const *argv)
 	vd = VSM_New();
 	VSL_Setup(vd);
 
-	while ((c = getopt(argc, argv, VSL_ARGS "aDP:uVw:")) != -1) {
+	while ((c = getopt(argc, argv, VSL_ARGS "aDP:uVw:oO")) != -1) {
 		switch (c) {
 		case 'a':
 			a_flag = 1;
@@ -299,9 +299,10 @@ main(int argc, char * const *argv)
 		case 'D':
 			D_flag = 1;
 			break;
-		case 'o':
-			o_flag = 1;
-			AN(VSL_Arg(vd, c, optarg));
+		case 'o': /* ignored for compatibility with older versions */
+			break;
+		case 'O':
+			O_flag = 1;
 			break;
 		case 'P':
 			P_arg = optarg;
@@ -316,7 +317,7 @@ main(int argc, char * const *argv)
 			w_arg = optarg;
 			break;
 		case 'm':
-			o_flag = 1; /* fall through */
+			m_flag = 1; /* fall through */
 		default:
 			if (VSL_Arg(vd, c, optarg) > 0)
 				break;
@@ -324,10 +325,10 @@ main(int argc, char * const *argv)
 		}
 	}
 
-	if (o_flag && w_arg != NULL)
+	if (O_flag && m_flag)
 		usage();
 
-	if ((argc - optind) > 0 && !o_flag)
+	if ((argc - optind) > 0)
 		usage();
 
 	if (VSL_Open(vd, 1))
@@ -354,7 +355,7 @@ main(int argc, char * const *argv)
 	if (u_flag)
 		setbuf(stdout, NULL);
 
-	if (o_flag)
+	if (!O_flag)
 		do_order(vd);
 
 	while (VSL_Dispatch(vd, VSL_H_Print, stdout) >= 0) {
diff --git a/doc/sphinx/reference/varnishlog.rst b/doc/sphinx/reference/varnishlog.rst
index d703b47..2c74e24 100644
--- a/doc/sphinx/reference/varnishlog.rst
+++ b/doc/sphinx/reference/varnishlog.rst
@@ -17,7 +17,7 @@ SYNOPSIS
 ========
 
 varnishlog [-a] [-b] [-C] [-c] [-D] [-d] [-I regex] [-i tag] [-k keep] 
-[-n varnish_name] [-o] [-m tag:regex ...] [-P file] [-r file] [-s num] [-u] [-V]
+[-n varnish_name] [-o] [-O] [-m tag:regex ...] [-P file] [-r file] [-s num] [-u] [-V]
 [-w file] [-X regex] [-x tag]
 
 DESCRIPTION
@@ -52,13 +52,15 @@ The following options are available:
 -k num      Only show the first num log records.
 
 -m tag:regex only list transactions where tag matches regex. Multiple
-            -m options are AND-ed together.
+            -m options are AND-ed together.  Can not be combined with -O
 
 -n          Specifies the name of the varnishd instance to get logs from.  If -n is not 
 	    specified, the host name is used.
 
--o          Group log entries by request ID.  This has no effect when writing to a 
-	    file using the -w option.
+-o          Ignored for compatibility with earlier versions.
+
+-O          Do not group log entries by request ID.  Can not be
+            combined with -m.
 
 -P file     Write the process's PID to the specified file.
 



More information about the varnish-commit mailing list