Werner F. Bruhin wrote:
I see the following exception with a string formating problem.
TypeError: not all arguments converted during string formatting
Traceback (most recent call last):
File "/usr/lib/python2.5/logging/__init__.py", line 744, in emit
msg = self.format(record)
File "/usr/lib/python2.5/logging/__init__.py", line 630, in format
return fmt.format(record)
File "/usr/lib/python2.5/logging/__init__.py", line 418, in format
record.message = record.getMessage()
File "/usr/lib/python2.5/logging/__init__.py", line 288, in getMessage
msg = msg % self.args
The exception does not give any information on where the problem is
coming from.
I am using Python 2.5.4 but I see that in 2.6 the code is still the same.
Any chance that getMessage could catch this exception and provide
better debugging information (i.e. content of msg and self.args).
I understand that my problem is that the arguments don't match the
format. But currently the traceback is not of any help in figuring out
where this in my code this is.
So, I suggest that line 288 in getMessage is changed from:
msg = msg % self.args
To something along these lines:
if self.args:
try:
msg = msg % self.args
except:
print 'msg: %s' % msg
print 'args: %s' % self.args
traceback.print_exception(ei[0], ei[1], ei[2])
return msg
Werner
--
http://mail.python.org/mailman/listinfo/python-list