[ python-Bugs-1508253 ] logging fileConfig swallows handler exception

SourceForge.net noreply at sourceforge.net
Fri Jun 23 01:18:20 CEST 2006


Bugs item #1508253, was opened at 2006-06-18 14:33
Message generated for change (Comment added) made by tdir
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1508253&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Python Library
Group: Python 2.4
>Status: Open
Resolution: Works For Me
Priority: 5
Submitted By: tdir (tdir)
Assigned to: Vinay Sajip (vsajip)
Summary: logging fileConfig swallows handler exception 

Initial Comment:
If you specify a handler such as a RotatingFileHandler
and the path you provide in the args specification
('option') is bad, config.fileConfig() catches the
exception and 'swallows' it. The result is later on,
when that handler is specified for a logger, you get an
exception saying there is no such handler. A much
friendlier behavior would be for fileConfig() to raise
an exception so the real cause of the problem can be
easily identified. Also, if there is a bug in the code
itself, it would also get swallowed in similar fashion.
In general, silently swallowing exceptions is rarely
the best choice IMHO.

Example ini with bad path (assuming /bad/path does not
exist):
[handler_defaultrotatingfile]
class=handlers.RotatingFileHandler
args=("/bad/path/logdir/my_log.log", 'w', 100000, 10)
formatter=std



----------------------------------------------------------------------

>Comment By: tdir (tdir)
Date: 2006-06-22 18:18

Message:
Logged In: YES 
user_id=1541624

Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit
(Intel)] on win32

ABOVE IS THE PYTHON SIGNON

I HAVE ALSO ATTACHED THE config.py FROM THE INSTALL. IT
CONTAINS NO _install_handlers 

APPEARS TO BE A VERY DIFFERENT VERSION FROM YOURS




----------------------------------------------------------------------

Comment By: Vinay Sajip (vsajip)
Date: 2006-06-22 11:37

Message:
Logged In: YES 
user_id=308438

Can you give some more details? I don't get the problem: see
the transcript below.

ActivePython 2.4 Build 243 (ActiveState Corp.) based on
Python 2.4 (#60, Nov 30 2004, 09:34:21) [MSC v.1310 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.
>>> import logging.config
>>> logging.config.fileConfig("junk.ini")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "C:\Python\lib\logging\config.py", line 83, in fileConfig
    handlers = _install_handlers(cp, formatters)
  File "C:\Python\lib\logging\config.py", line 151, in
_install_handlers
    h = apply(klass, args)
  File "C:\Python\lib\logging\handlers.py", line 109, in
__init__
    BaseRotatingHandler.__init__(self, filename, mode, encoding)
  File "C:\Python\lib\logging\handlers.py", line 61, in __init__
    logging.FileHandler.__init__(self, filename, mode, encoding)
  File "C:\Python\lib\logging\__init__.py", line 770, in
__init__
    stream = open(filename, mode)
IOError: [Errno 2] No such file or directory:
'/bad/path/junk.log'


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1508253&group_id=5470


More information about the Python-bugs-list mailing list