summaryrefslogtreecommitdiffstats
path: root/Lib/logging
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2004-10-20 08:39:40 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2004-10-20 08:39:40 (GMT)
commit4ed315ae6674e710c5374bda3660ede3a5f0a95c (patch)
tree231f8aeea9704998046780cdc89f8323ec5bfefe /Lib/logging
parentc64aab840033c866a13cfd76fc75407de84accd3 (diff)
downloadcpython-4ed315ae6674e710c5374bda3660ede3a5f0a95c.zip
cpython-4ed315ae6674e710c5374bda3660ede3a5f0a95c.tar.gz
cpython-4ed315ae6674e710c5374bda3660ede3a5f0a95c.tar.bz2
Changed handling of args in LogRecord.__init__.
Diffstat (limited to 'Lib/logging')
-rw-r--r--Lib/logging/__init__.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index e9bb4d9..579c2c4 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -36,8 +36,8 @@ except ImportError:
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
__status__ = "beta"
-__version__ = "0.4.9.5"
-__date__ = "02 October 2004"
+__version__ = "0.4.9.6"
+__date__ = "20 October 2004"
#---------------------------------------------------------------------------
# Miscellaneous module data
@@ -191,6 +191,21 @@ class LogRecord:
ct = time.time()
self.name = name
self.msg = msg
+ #
+ # The following statement allows passing of a dictionary as a sole
+ # argument, so that you can do something like
+ # logging.debug("a %(a)d b %(b)s", {'a':1, 'b':2})
+ # Suggested by Stefan Behnel.
+ # Note that without the test for args[0], we get a problem because
+ # during formatting, we test to see if the arg is present using
+ # 'if self.args:'. If the event being logged is e.g. 'Value is %d'
+ # and if the passed arg fails 'if self.args:' then no formatting
+ # is done. For example, logger.warn('Value is %d', 0) would log
+ # 'Value is %d' instead of 'Value is 0'.
+ # For the use case of passing a dictionary, this should not be a
+ # problem.
+ if args and (len(args) == 1) and args[0]:
+ args = args[0]
self.args = args
self.levelname = getLevelName(level)
self.levelno = level