protect logger from shutdown syslogd

Mathias Kőrber mathias at koerber.org
Mon Feb 25 06:34:03 CET 2013


Hi

I have a script which calls getLogger to set up a logging service.
The standard logger description used both the consoleHandler and the
syslogHandler.

It seems that if syslogd is shut down, getLogger fails, and the script
won't be able to log at all.

is there a way to make it immune against this and automatically continue
the consoleHandler. Sure, we could amend the .ini file
to remove the syslogHandler from the logger definition when this is
known, but on a cron-initiated script this is not feasible.

below is the logger definition:

> [loggers]
> keys=root,mylogger
> 
> [handlers]
> keys=consoleHandler,syslogHandler,rootHandler
> 
> [formatters]
> keys=simpleFormatter,syslogFormatter,rootFormatter
> 
> [logger_root]
> level=NOTSET
> handlers=rootHandler
> 
> [logger_mylogger]
> level=INFO
> handlers=consoleHandler,syslogHandler
> #handlers=syslogHandler
> #handlers=consoleHandler
> qualname=mylogger
> propagate=0
> 
> [handler_rootHandler]
> class=StreamHandler
> level=DEBUG
> formatter=rootFormatter
> args=(sys.stdout,)
> 
> [handler_consoleHandler]
> class=StreamHandler
> level=DEBUG
> formatter=simpleFormatter
> args=(sys.stdout,)
> 
> [handler_syslogHandler]
> class=handlers.SysLogHandler
> formatter=syslogFormatter
> level=INFO
> #args=(('localhost', handlers.SYSLOG_UDP_PORT), handlers.SysLogHandler.LOG_USER)
> args=('/dev/log', handlers.SysLogHandler.LOG_USER)


thanks



More information about the Python-list mailing list