[Python-checkins] cpython (3.2): Improved logging cookbook example.

vinay.sajip python-checkins at python.org
Tue Feb 28 09:06:08 CET 2012


http://hg.python.org/cpython/rev/514d602c3db5
changeset:   75327:514d602c3db5
branch:      3.2
parent:      75325:e656738cb631
user:        Vinay Sajip <vinay_sajip at yahoo.co.uk>
date:        Tue Feb 28 08:05:23 2012 +0000
summary:
  Improved logging cookbook example.

files:
  Doc/howto/logging-cookbook.rst |  17 +++++++++++------
  1 files changed, 11 insertions(+), 6 deletions(-)


diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -972,12 +972,13 @@
 When logging was added to the Python standard library, the only way of
 formatting messages with variable content was to use the %-formatting
 method. Since then, Python has gained two new formatting approaches:
-string.Template (added in Python 2.4) and str.format (added in Python 2.6).
+:class:`string.Template` (added in Python 2.4) and :meth:`str.format`
+(added in Python 2.6).
 
-Logging now (as of 3.2) provides improved support for these two additional
-formatting styles. The :class:`Formatter` class been enhanced for Python 3.2 to
-take an additional, optional keyword parameter named ``style``. This defaults
-to ``'%'``, but other possible values are ``'{'`` and ``'$'``, which correspond
+Logging (as of 3.2) provides improved support for these two additional
+formatting styles. The :class:`Formatter` class been enhanced to take an
+additional, optional keyword parameter named ``style``. This defaults to
+``'%'``, but other possible values are ``'{'`` and ``'$'``, which correspond
 to the other two formatting styles. Backwards compatibility is maintained by
 default (as you would expect), but by explicitly specifying a style parameter,
 you get the ability to specify format strings which work with
@@ -1068,7 +1069,7 @@
 .. code-block:: pycon
 
     >>> from wherever import BraceMessage as __
-    >>> print(__('Message with {0} {1}', 2, 'placeholders'))
+    >>> print(__('Message with {0} {name}', 2, name='placeholders'))
     Message with 2 placeholders
     >>> class Point: pass
     ...
@@ -1083,6 +1084,10 @@
     Message with 2 placeholders
     >>>
 
+While the above examples use ``print()`` to show how the formatting works, you
+would of course use ``logger.debug()`` or similar to actually log using this
+approach.
+
 One thing to note is that you pay no significant performance penalty with this
 approach: the actual formatting happens not when you make the logging call, but
 when (and if) the logged message is actually about to be output to a log by a

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list