Skip to content

Instantly share code, notes, and snippets.

@Markbnj
Created August 12, 2015 16:56
Show Gist options
  • Save Markbnj/e8383b9eadd2ebf602f2 to your computer and use it in GitHub Desktop.
Save Markbnj/e8383b9eadd2ebf602f2 to your computer and use it in GitHub Desktop.
Simple redis log handler for python
import logging
import redis
class RedisLogHandler(logging.Handler):
"""
Class used to emit log messages to a redis list
"""
def __init__(self, host, port, key, db=0, formatter=None, level=logging.NOTSET):
logging.Handler.__init__(self, level)
self._host = host
self._port = port
self._key = key
self._db = db
if formatter is not None:
self.formatter = formatter
self._redis = redis.StrictRedis(host=self._host, port=self._port, db=self._db)
@property
def host(self):
return self._host
@property
def port(self):
return self._port
@property
def key(self):
return self._key
@property
def db(self):
return self._db
def emit(self, record):
self._redis.lpush(self._key, self.format(record))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment