logging exceptions
Vinay Sajip
vinay_sajip at yahoo.co.uk
Wed Aug 27 04:33:52 EDT 2008
On Aug 26, 10:36 am, Alexandru Mosoi <brtz... at gmail.com> wrote:
> why doesn'tloggingthrow any exception when it should? how do I
> configureloggingto throw exceptions?
>
> >>> try:
>
> ... logging.fatal('asdf %d', '123')
> ... except:
> ... print 'this line is never printed'
> ...
> Traceback (most recent call last):
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
> python2.5/logging/__init__.py", line 744, in emit
> msg = self.format(record)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
> python2.5/logging/__init__.py", line 630, in format
> return fmt.format(record)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
> python2.5/logging/__init__.py", line 418, in format
> record.message = record.getMessage()
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
> python2.5/logging/__init__.py", line 288, in getMessage
> msg = msg % self.args
> TypeError: int argument required
Was your traceback from the snippet you posted? If it was, then the
exception (a TypeError) *is* being raised from logging. So I don't
understand your question "why doesn't logging throw any exception when
it should?", because logging is raising an exception here.
To cause logging to *not* raise exceptions, set
logging.raiseExceptions to 0 (default is 1). The raiseExceptions
variable would normally be set to 0 in a production environment, where
you don't want logging-related exceptions to bring an application
down.
Regards,
Vinay Sajip
More information about the Python-list
mailing list