Skip to main content

ScribeHandler is a simple proxy layer that works with the python standard logging module

Project description

ScribeHandler is a simple proxy layer that works with the python standard
logging module (http://docs.python.org/library/logging.html). ScribeHandler
acts a a handler object that gets added to a logger in the standard way.

Important bits:

When instantiating the handler, you will want to specify the connection
setting to scribed. The following keyword arguments are reconized (and
defaults):

Argument Default
---------------------------
host 127.0.0.1
port 1463
category %(hostname)s-%(loggername)s
transport ScribeHandler.FRAMED
uri None

- Host and port, should be obvious

- If transport is ScribeHandler.FRAMED, then
thrift.transport.TTransport.TFramedTransport() is used.
- If transport is ScribeHandler.BUFFERED, then
thrift.transport.TTransport.TBufferedTransport() is used.
- If transport is ScribeHandler.HTTP then
thrift.transport.THttpClient.THttpClient() is used and uri MUST NOT be
None
- If transport is None then you can assign any acceptable Thrift/Scribe
transport via

ScirbeHandler.transport = <transport>

where <transport> is a valid Scibe/Thrift transport (this is an attempt at
future proofing).

- category is translated into the category parameter to scribe.LogEntry()
object. It should be a standard format string using mapping keys.
The following are the reconized mapping keys:

Key Name Source
----------------------
module logging.LogRecord.module
levelname logging.LogRecord.levelname
loggername logging.LogRecord.name
processname logging.LogRecord.processName
hostname socket.gethostname()


Here's a simple example of how to use it:

import logging
import ScribeHandler
mylogger = logging.getLogger('ScribeLogger')
mylogger.setLevel(logging.DEBUG)
handler = ScribeHandler.ScribeHandler(category='%(hostname)s-%(levelname)s', file_buffer='/tmp/logbuffer')
mylogger.addHandler(handler)

mylogger.debug('stuff happens')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ScribeHandler-0.05.tar.gz (9.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page