logging module question

Martin Jürgens martin at pythonic.de
Fri Jun 30 00:44:35 EDT 2006


Am Thu, 29 Jun 2006 20:22:28 -0700 schrieb s99999999s2003:

> hi
> i have defined a function
> def logger(logfile,msg):
>         import logging
> 
>         logging.basicConfig(level=logging.DEBUG,
>                                    format='%(asctime)s %(levelname)-8s
> %(message)s',
>                                     datefmt='%a, %d %b %Y %H:%M:%S',
>                                     filename='%s' % (logfile),
>                                     filemode='a')
>         logging.critical(msg)
>         logging.error(msg)
>         logging.warning(msg)
>         logging.info(msg)

Why log the same message with different severity ?

>         logging.shutdown()
> 
> In my main code:
> 
> ----- some python code here---
> logger("test.log","error")
> .....
> .....
> logger("test.log","another error")
> ...
> logger("test.log","yet another error")
> ...
> sys.exit(0)
> 
> When i do the above, i get :
> self.stream.write(fs % msg)
> ValueError: I/O operation on closed file
> 
> If i removed logging.shutdown(), it workds..what is wrong with my
> function ? 
> thanks

Why exactly do you call logging.shutdown() when you use the logging system
again with further calls to logger().

As far as I see it logging.shutdown() should only be called when you're
done with logging alltogether. However in your case you probably don't
need to call it at all since it's invoked automatically when yout program
exits.

Regards,

Martin




More information about the Python-list mailing list