Overview

Installation

pip install logmongo
easy_install logmongo

What does it do?

  • Gracefully creates capped collections.
  • Auto expires oldest records first and solves log rotation.
  • Writes complex (dicts and kwargs) log records.
  • Logs asynchronously.
  • Collects logs locally or remotely or in a central location.
  • Allows access to logs via MongoDB queries and APIs.
  • Logs newline separated STDIN JSON strings to MongoDB

Why should I use Logmongo instead of just pymongo?

Logmongo subclasses the pymongo Collection object and provides the following additions -

By default a new Logmongo object will create a 512M named capped collection

write method which:

  • logs all passed keywords
  • if 'when' is not in record, add 'when' timestamp to log record
  • if 'source' is not in record, add 'source' add FQDN to log record

query method which:

  • allows keywords (kwargs) querying for example:

    log.query( tags='finance' )
    

tail method which:

  • prints all records to standard out which match the given query until killed

How does it work?

Example:

from logmongo import Logmongo

log = Logmongo('logs')

log.write( message='No required kwargs or fields!' )

entry = {
  'tags':['but','we','like','tags'],
  'level':'info'
}
log.write( entry )

# for more help check out
help( logmongo )

STDIN JSON to MongoDB

Example:

# tail the log collection
./logmongo --tail

# in another shell echo a JSON string into logmongo
echo '{"test":[143,435,432]}' | ./logmongo

# for more information
./logmongo --help

License

Public Domain

How do I thank you?

Write me an email! I always respond back!