You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@hyperreal.org on 1999/12/16 00:04:29 UTC

cvs commit: apache-1.3/src/modules/standard mod_log_config.c

martin      99/12/15 15:04:27

  Modified:    src      CHANGES
               htdocs/manual/mod mod_log_config.html
               src/modules/standard mod_log_config.c
  Log:
  Peter Watkins writes:
  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
  
  PR: 5174
  Submitted by:	Peter Watkins <pe...@usa.net>
  Reviewed by:	Martin Kraemer
  
  Revision  Changes    Path
  1.1480    +5 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1479
  retrieving revision 1.1480
  diff -u -r1.1479 -r1.1480
  --- CHANGES	1999/12/15 22:13:22	1.1479
  +++ CHANGES	1999/12/15 23:04:07	1.1480
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3.10
   
  +  *) Add %q logging format directive (logs "?" and the query string part
  +     of a query, or the empty string if no query).
  +     Can be used in combination with %m, %U and %H: "%m %U%q %H" is the
  +     same as "%r".  [Peter Watkins <pe...@usa.net>]
  +
     *) Improve OS390 port to work on older system releases
        [Paul Gilmartin <pg...@sweng.stortek.com>]
   
  
  
  
  1.36      +9 -7      apache-1.3/htdocs/manual/mod/mod_log_config.html
  
  Index: mod_log_config.html
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_log_config.html,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- mod_log_config.html	1999/10/13 08:41:52	1.35
  +++ mod_log_config.html	1999/12/15 23:04:19	1.36
  @@ -121,24 +121,28 @@
   by the values as follows:
   
   <PRE>
  +%...a:          Remote IP-address
  +%...A:          Local IP-address
   %...B:          Bytes sent, excluding HTTP headers.
   %...b:          Bytes sent, excluding HTTP headers. In CLF format
   		i.e. a '-' rather than a 0 when no bytes are sent.
  -%...f:          Filename
   %...{FOOBAR}e:  The contents of the environment variable FOOBAR
  +%...f:          Filename
   %...h:          Remote host
  -%...a:          Remote IP-address
  -%...A:          Local IP-address
  +%...H		The request protocol
   %...{Foobar}i:  The contents of Foobar: header line(s) in the request
                   sent to the server.
   %...l:          Remote logname (from identd, if supplied)
  +%...m		The request method
   %...{Foobar}n:  The contents of note "Foobar" from another module.
   %...{Foobar}o:  The contents of Foobar: header line(s) in the reply.
   %...p:          The canonical Port of the server serving the request
   %...P:          The process ID of the child that serviced the request.
  +%...q		The query string (prepended with a ? if a query string exists,
  +		otherwise an empty string)
   %...r:          First line of request
  -%...s:          Status.  For requests that got internally redirected, this
  -                is status of the *original* request --- %...&gt;s for the last.
  +%...s:          Status.  For requests that got internally redirected, this is
  +                the status of the *original* request --- %...&gt;s for the last.
   %...t:          Time, in common log format time format (standard english format)
   %...{format}t:  The time, in the form given by format, which should
                   be in strftime(3) format. (potentially localised)
  @@ -147,8 +151,6 @@
   %...U:          The URL path requested.
   %...v:          The canonical ServerName of the server serving the request.
   %...V:          The server name according to the UseCanonicalName setting.
  -%...m		The request method
  -%...H		The request protocol
   </PRE>
   
   The `...' can be nothing at all (<EM>e.g.</EM>, <CODE>"%h %u %r %s %b"</CODE>), or it can
  
  
  
  1.80      +10 -1     apache-1.3/src/modules/standard/mod_log_config.c
  
  Index: mod_log_config.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- mod_log_config.c	1999/09/27 20:38:46	1.79
  +++ mod_log_config.c	1999/12/15 23:04:22	1.80
  @@ -144,7 +144,8 @@
    * %...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
  + * %...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,6 +347,11 @@
   {
       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,6 +545,9 @@
       },
       {
           'm', log_request_method, 0
  +    },
  +    {
  +        'q', log_request_query, 0
       },
       {
           '\0'