summaryrefslogtreecommitdiff
path: root/Doc/howto/logging-cookbook.rst
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2012-02-28 08:05:23 +0000
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2012-02-28 08:05:23 +0000
commit1549a5acf3ae8faf1eee60bc7f716867164980cc (patch)
treed56d10b95e7893507a535897aa8485cb6d5b719c /Doc/howto/logging-cookbook.rst
parentafccda6014fbaa084069f2c148776f34186af3d3 (diff)
downloadcpython-1549a5acf3ae8faf1eee60bc7f716867164980cc.tar.gz
Improved logging cookbook example.
Diffstat (limited to 'Doc/howto/logging-cookbook.rst')
-rw-r--r--Doc/howto/logging-cookbook.rst17
1 files changed, 11 insertions, 6 deletions
diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
index 6f8a693650..aa4a7df412 100644
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -972,12 +972,13 @@ Use of alternative formatting styles
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 @@ they're declared in a module called ``wherever``):
.. 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 @@ they're declared in a module called ``wherever``):
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