]> granicus.if.org Git - python/commitdiff
Issue #21608: Updated HTTPHandler documentation.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 30 May 2014 17:59:27 +0000 (18:59 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 30 May 2014 17:59:27 +0000 (18:59 +0100)
Doc/library/logging.handlers.rst

index 315c168f1ddf93909b048f9b8979c47e27a893eb..a2b14de1b013197f67dfbec355744b101140a145 100644 (file)
@@ -850,10 +850,27 @@ supports sending logging messages to a Web server, using either ``GET`` or
    credentials, you should also specify secure=True so that your userid and
    password are not passed in cleartext across the wire.
 
+   .. method:: mapLogRecord(record)
+
+      Provides a dictionary, based on ``record``, which is to be URL-encoded
+      and sent to the web server. The default implementation just returns
+      ``record.__dict__``. This method can be overridden if e.g. only a
+      subset of :class:`~logging.LogRecord` is to be sent to the web server, or
+      if more specific customization of what's sent to the server is required.
 
    .. method:: emit(record)
 
-      Sends the record to the Web server as a percent-encoded dictionary.
+      Sends the record to the Web server as an URL-encoded dictionary. The
+      :meth:`mapLogRecord` method is used to convert the record to the
+      dictionary to be sent.
+
+   .. note:: Since preparing a record for sending it to a Web server is not
+      the same as a generic formatting operation, using
+      :meth:`~logging.Handler.setFormatter` to specify a
+      :class:`~logging.Formatter` for a :class:`HTTPHandler` has no effect.
+      Instead of calling :meth:`~logging.Handler.format`, this handler calls
+      :meth:`mapLogRecord` and then :func:`urllib.parse.urlencode` to encode the
+      dictionary in a form suitable for sending to a Web server.
 
 
 .. _queue-handler: