You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Peter Watkins <pe...@usa.net> on 1999/10/20 19:28:59 UTC

mod_log-any/5174: [PATCH] mod_log_config hook for query string for 1.3

>Number:         5174
>Category:       mod_log-any
>Synopsis:       [PATCH] mod_log_config hook for query string for 1.3
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          change-request
>Submitter-Id:   apache
>Arrival-Date:   Wed Oct 20 10:30:00 PDT 1999
>Last-Modified:
>Originator:     peterw@usa.net
>Organization:
apache
>Release:        1.3.10-dev
>Environment:
Linux 2.0.36 (Red Hat 5.1), gcc 2.7.2.3
>Description:
In September, there was discussion of mod_log_config and some need to 
break the client request "%r" into its separate components. A patch was 
committed to the 1.3 dev tree that exposed the method and protocol 
request members as "%m" and "%H". It was noted that "%m %U %H" was not 
the same as "%r" because %U does not include query string information. 
The attached patches add support for logging query string in such a way
that "%m %U%q %H" is the same as "%r". I would like to see this committed 
to take care of the unfinished business begun with "%m" and "%H".

Thanks,

-Peter
>How-To-Repeat:

>Fix:
Yes. Here are patches for both the C code and the HTML documentation, 
based on the "19991016131218" CVS snapshot.

*** apache-1.3/src/modules/standard/mod_log_config-old.c        Sat Oct 16 11:17:15 1999
--- apache-1.3/src/modules/standard/mod_log_config.c    Sat Oct 16 11:26:34 1999
***************
*** 144,150 ****
   * %...v:  the configured name of the server (i.e. which virtual host?)
   * %...V:  the server name according to the UseCanonicalName setting
   * %...m:  the request method
!  * %...h:  the request protocol
   *
   * The '...' can be nothing at all (e.g. "%h %u %r %s %b"), or it can
   * indicate conditions for inclusion of the item (which will cause it
--- 144,151 ----
   * %...v:  the configured name of the server (i.e. which virtual host?)
   * %...V:  the server name according to the UseCanonicalName setting
   * %...m:  the request method
!  * %...H:  the request protocol
!  * %...q:  the query string prepended by "?", or empty if no query string
   *
   * The '...' can be nothing at all (e.g. "%h %u %r %s %b"), or it can
   * indicate conditions for inclusion of the item (which will cause it
***************
*** 346,351 ****
--- 347,357 ----
  {
      return r->protocol;
  }
+ static const char *log_request_query(request_rec *r, char *a)
+ {
+     return (r->args != NULL) ? ap_pstrcat(r->pool, "?", r->args, NULL)
+                              : "";
+ }
  static const char *log_status(request_rec *r, char *a)
  {
      return pfmt(r->pool, r->status);
***************
*** 539,544 ****
--- 545,553 ----
      },
      {
          'm', log_request_method, 0
+     },
+     {
+         'q', log_request_query, 0
      },
      {
          '\0'

*** apache-1.3/htdocs/manual/mod/mod_log_config-old.html        Sat Oct 16 11:35:59 1999
--- apache-1.3/htdocs/manual/mod/mod_log_config.html    Sat Oct 16 11:38:00 1999
***************
*** 149,154 ****
--- 149,156 ----
  %...V:          The server name according to the UseCanonicalName setting.
  %...m         The request method
  %...H         The request protocol
+ %...q         The query string (prepended with a ? if a query string exists,
+                 otherwise an empty string)
  </PRE>

  The `...' can be nothing at all (<EM>e.g.</EM>, <CODE>"%h %u %r %s %b"</CODE>), or it can
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <ap...@Apache.Org> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or      ]
["Re: general/1098:").  If the subject doesn't match this       ]
[pattern, your message will be misfiled and ignored.  The       ]
["apbugs" address is not added to the Cc line of messages from  ]
[the database automatically because of the potential for mail   ]
[loops.  If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request from a  ]
[developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]