Re: [squid-users] Customize LogFormat patch not work

From: Mrvka Andreas <mrv@dont-contact.us>
Date: Wed, 09 Jun 2004 15:19:52 +0200

thanks for response!

i will try it.

am i right if i use your text in the following way:

- copy your diff text and store it in a file.patch
- copy the file.patch into the installation directory
  (where configure file exists)
- type "patch -p0 < file.patch"

- configure; make; make install

right?
sorry, i'm not handy in playing with patch files...

regards
andrew

Am Mi, 2004-06-09 um 10.20 schrieb Mirosław Jaworski:
> Cytowanie Mrvka Andreas <mrv@tuev.at>:
>
> > Hi guys,
> >
> > i use awstats and wanted to analyse squid 2.5-Stable5.
> > i heard to use a patch for customizable logformat.
>
> Hi
>
> About year ago I was looking for a working patch and didn't find one, so
> I came up with my own hard hack, which causes squid to generate exact apache's
> combined log instead of "common apache plus some squid fields" log when
> you turn apache emulation logging on.
>
> 3 small changes below, plus "emulate_httpd_log on" in your squid.conf
> should do the trick.
>
> It's against squid-2.5.STABLE3:
>
> # diff -cr src/structs.h.orig src/structs.h
> *** src/structs.h.orig Wed Jun 4 14:13:31 2003
> --- src/structs.h Wed Jun 4 14:14:44 2003
> ***************
> *** 1025,1030 ****
> --- 1025,1032 ----
> int code;
> const char *content_type;
> http_version_t version;
> + const char *agent;
> + const char *referer;
> } http;
> struct {
> icp_opcode opcode;
>
>
> # diff -cr src/client_side.c.orig src/client_side.c
> *** src/client_side.c.orig Wed Jun 4 14:09:57 2003
> --- src/client_side.c Wed Jun 4 15:19:13 2003
> ***************
> *** 779,784 ****
> --- 779,785 ----
> ConnStateData *conn = http->conn;
> StoreEntry *e;
> request_t *request = http->request;
> + const HttpHeader *req_hdr = &request->header;
> MemObject *mem = NULL;
> debug(33, 3) ("httpRequestFree: %s\n", storeUrl(http->entry));
> if (!clientCheckTransferDone(http)) {
> ***************
> *** 805,810 ****
> --- 806,813 ----
> http->al.cache.size = http->out.size;
> http->al.cache.code = http->log_type;
> http->al.cache.msec = tvSubMsec(http->start, current_time);
> + http->al.http.agent = httpHeaderGetStr(req_hdr, HDR_USER_AGENT);
> + http->al.http.referer = httpHeaderGetStr(req_hdr, HDR_REFERER);
> if (request) {
> Packer p;
> MemBuf mb;
>
> # diff -cr src/access_log.c.orig src/access_log.c
> *** src/access_log.c.orig Wed Jun 4 14:06:01 2003
> --- src/access_log.c Wed Jun 4 15:19:55 2003
> ***************
> *** 271,277 ****
> client = inet_ntoa(al->cache.caddr);
> user1 = accessLogFormatName(al->cache.authuser);
> user2 = accessLogFormatName(al->cache.rfc931);
> ! logfilePrintf(logfile, "%s %s %s [%s] \"%s %s HTTP/%d.%d\" %d %ld %s:%s",
> client,
> user2 ? user2 : dash_str,
> user1 ? user1 : dash_str,
> --- 271,277 ----
> client = inet_ntoa(al->cache.caddr);
> user1 = accessLogFormatName(al->cache.authuser);
> user2 = accessLogFormatName(al->cache.rfc931);
> ! logfilePrintf(logfile, "%s %s %s [%s] \"%s %s HTTP/%d.%d\" %d %ld \"%s\"
> \"%s\"",
> client,
> user2 ? user2 : dash_str,
> user1 ? user1 : dash_str,
> ***************
> *** 281,288 ****
> al->http.version.major, al->http.version.minor,
> al->http.code,
> (long int) al->cache.size,
> ! log_tags[al->cache.code],
> ! hier_strings[al->hier.code]);
> safe_free(user1);
> safe_free(user2);
> }
> --- 281,288 ----
> al->http.version.major, al->http.version.minor,
> al->http.code,
> (long int) al->cache.size,
> ! al->http.referer ? al->http.referer : dash_str,
> ! al->http.agent ? al->http.agent : dash_str );
> safe_free(user1);
> safe_free(user2);
> }
>
> Regards
>
> M.
Received on Wed Jun 09 2004 - 07:20:00 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Jul 01 2004 - 12:00:02 MDT