r684 - trunk/varnish-cache/bin/varnishncsa
andersb at projects.linpro.no
andersb at projects.linpro.no
Sat Aug 5 23:11:50 CEST 2006
Author: andersb
Date: 2006-08-05 23:11:50 +0200 (Sat, 05 Aug 2006)
New Revision: 684
Modified:
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c
Log:
Added user, loginname, statuscode (200, 304 etc.), byte and referer to make a logline compliant. User and loginname is hardcoded. Referer and User-agen is unclean. Timecode is not working. This version leaks memory bigtime, and is not ready for alpha yet.
Modified: trunk/varnish-cache/bin/varnishncsa/varnishncsa.c
===================================================================
--- trunk/varnish-cache/bin/varnishncsa/varnishncsa.c 2006-08-05 20:52:05 UTC (rev 683)
+++ trunk/varnish-cache/bin/varnishncsa/varnishncsa.c 2006-08-05 21:11:50 UTC (rev 684)
@@ -40,9 +40,9 @@
// unsigned char *df_u; // Datafield for %u
struct tm *logline_time; // Datafield for %t
unsigned char *df_r; // Datafield for %r
- // unsigned char *df_s; // Datafield for %s
- // unsigned char *df_b; // Datafield for %b
- // unsigned char *df_R; // Datafield for %{Referer}i
+ unsigned char *df_s; // Datafield for %s
+ unsigned char *df_b; // Datafield for %b
+ unsigned char *df_R; // Datafield for %{Referer}i
unsigned char *df_U; // Datafield for %{User-agent}i
};
@@ -173,6 +173,14 @@
if (p[1] >= 11 && !strncasecmp((void *)&p[4], "user-agent:",11)){
ll[u].df_U = strdup(p + 4);
}
+ if (p[1] >= 8 && !strncasecmp((void *)&p[4], "referer:",8)){
+ ll[u].df_R = strdup(p + 4);
+ }
+ else if (ll[u].df_R == NULL){
+ ll[u].df_R = strdup(p + 4);
+ ll[u].df_R[0] = '-';
+ ll[u].df_R[1] = '\0';
+ }
break;
@@ -184,10 +192,10 @@
tmpPtrb = strdup(p + 4);
for ( tmpPtra = strtok(tmpPtrb," "); tmpPtra != NULL; tmpPtra = strtok(NULL, " ")){
- if (i = 1){
+ //if (i = 1){
tmpPtrc = tmpPtra;
- }
- printf("ReqServTime number %d: %s\n", i, tmpPtra);
+ //}
+ //printf("ReqServTime number %d: %s\n", i, tmpPtra);
i++;
}
@@ -210,6 +218,22 @@
break;
+ case SLT_TxStatus:
+
+ ll[u].df_s = strdup(p + 4);
+
+ break;
+
+ case SLT_Length:
+
+ ll[u].df_b = strdup(p + 4);
+ if (!atoi(ll[u].df_b)){
+ ll[u].df_b[0] = '-';
+ ll[u].df_b[1] = '\0';
+ }
+
+ break;
+
case SLT_SessionClose:
if (p[1] >= 7 && !strncasecmp((void *)&p[4], "timeout",7)){
@@ -217,11 +241,13 @@
}
else{
- printf("%s %s", ll[u].df_h, temp_time);
+ printf("%s - - %s", ll[u].df_h, temp_time);
sbuf_finish(ob[u]);
printf("\"%s\"", sbuf_data(ob[u]));
- printf(" \"%s\"\n", ll[u].df_U);
+ printf(" %s %s \"%s\" \"%s\"\n", ll[u].df_s, ll[u].df_b, ll[u].df_R, ll[u].df_U);
sbuf_clear(ob[u]);
+ //free(ll[u].df_R);
+ //free(ll[u].df_U);
}
@@ -243,11 +269,13 @@
}
- printf("%s %s", ll[u].df_h, temp_time);
+ printf("%s - - %s", ll[u].df_h, temp_time);
sbuf_finish(ob[u]);
printf("\"%s\"", sbuf_data(ob[u]));
- printf(" \"%s\"\n", ll[u].df_U);
+ printf(" %s %s \"%s\" \"%s\"\n", ll[u].df_s, ll[u].df_b, ll[u].df_R, ll[u].df_U);
sbuf_clear(ob[u]);
+ //free(ll[u].df_R);
+ //free(ll[u].df_U);
break;
More information about the varnish-commit
mailing list