Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
ff4b7bfa
Commit
ff4b7bfa
authored
Feb 28, 2012
by
Vinay Sajip
Browse files
Options
Browse Files
Download
Plain Diff
Merged cookbook improvement from 3.2.
parents
86798d4f
39b83ac7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
6 deletions
+11
-6
Doc/howto/logging-cookbook.rst
Doc/howto/logging-cookbook.rst
+11
-6
No files found.
Doc/howto/logging-cookbook.rst
View file @
ff4b7bfa
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment