[Python-Dev] Guidelines for Logging Usage

Michael P. Dubner dubnerm-news at mail.ru
Tue Oct 5 08:18:18 CEST 2004


Garth T Kidd wrote:

>Strikes me that not much work could let someone keep all of their
>existing print statements more or less intact and use the logging
>module properly, too:
>
>    import logging
>
>    class LoggingHandle:
>        def __init__(self, wrappedmethod): 
>            self.wrappedmethod = wrappedmethod
>        def write(self, msg): 
>            msg = msg.rstrip()
>            if msg: 
>                self.wrappedmethod(msg.rstrip())
>
>    logging.basicConfig()
>    log = logging.getLogger('whatever')
>    stderr = LoggingHandle(log.error)
>    stdout = LoggingHandle(log.info)
>
>    print >> stdout, "This is informational." # logged as INFO
>    print >> stderr, "This is an error." # guess.
>
>Add some basic infrastructure to logging, and you're done. The
>Extremely Brave could even alter sys.stderr and sys.stdout.
>  
>
Main purpose of logging module is not redirection, but filtering capability.

--
Best regards,
Michael Dubner (dubnerm at mindless.com)
Brainbench MVP/HTML+JavaScript (http://www.brainbench.com)
PS: Sorry for my English



More information about the Python-Dev mailing list