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`.


Keywords
safe, SysLogHandler, broken, pipe, errno32
License
Apache-2.0
Install
pip install safe_syslog_handler==0.2.0

Documentation

Safe Syslog Handler

Documentation Status

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.

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.