Safe Syslog Handler¶
SafeSysLogHandler recreates the connection to a remote logging server when the connection is lost, avoiding the [errno 32] Broken Pipe error which would occur when using the SysLogHandler.
- Free software: Apache Software License 2.0
- Documentation: https://safe-syslog-handler.readthedocs.io.
Instalation¶
$ pip install safe_syslog_handler
Usage¶
If you have some simple logging configured, exemple:
from logging import config
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'syslog': {
'format': '%(asctime)s %(hostname)s %(name)s: #{filename:%(filename)s} #{line:%(lineno)d} #{process:%(process)d} #{thread:%(thread)d} %(message)s\n',
'datefmt': '%b %d %H:%M:%S',
},
},
'loggers': {
'my-app': {
'handlers': ['syslog_handlers', ],
'level': logging.DEBUG,
'propagate': True,
},
}
}
Then you just need to add this:
LOGGING['handlers'] = {
'syslog_handlers': {
'formatter': 'syslog',
'class': 'safe_syslog_handler.handlers.SafeSysLogHandler',
'socktype': socket.SOCK_STREAM,
'address': ('localhost', 5140),
}
}
You can see an example app in the example folder
Credits¶
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.