mongo database handler for python logging
Project description
log4mongo-python is mongo database handler for python logging, part of log4mongo.org project. log4mongo-python is using pymongo driver - http://github.com/mongodb/mongo-python-driver
Requirements
python 2.7+
pymongo
mongo database
For more information see debian_requirements.txt and requirements.txt files.
Configuration
Example handler python configuration:
import logging from log4mongo.handlers import MongoHandler logger = logging.getLogger('test') logger.addHandler(MongoHandler(host='localhost')) logger.warning('test')
Contextual information
It is possible to decorate you document with contextual information. There are tow approaches.
1.) approach
import logging from log4mongo.handlers import MongoHandler handler = MongoHandler(host='localhost') logger = logging.getLogger('test') logger.addHandler(handler) logging.LoggerAdapter(logger, {'ip': '127.0.0.1'}).info('test')
2.) approach
import logging from log4mongo.handlers import MongoHandler handler = MongoHandler(host='localhost') logger = logging.getLogger('test') logger.addHandler(handler) logger.info('test', extra={'ip': '127.0.0.1'})
As you can see, second approach is more straightforward and there is no need to use LoggerAdapter.
Capped collections
Capped collections are fixed-size collections that support high-throughput operations that insert, retrieve, and delete documents based on insertion order. Capped collections work in a way similar to circular buffers: once a collection fills its allocated space, it makes room for new documents by overwriting the oldest documents in the collection.
Before switching to capped collections, read this document please: http://docs.mongodb.org/manual/core/capped-collections/
This behaviour is disabled by default. You can enable this behaviour in constructor with capped=True:
import logging from log4mongo.handlers import MongoHandler handler = MongoHandler(host='localhost', capped=True)
Tests
Tested on evnironment
LinuxMint 15 Olivia 64-bit
python 2.7.4
pymongo 2.6.3
mongod - db version v2.4.7, Mon Oct 28 12:15:05.831 git version: 0161738abf06c1f067b56a465b706efd6f4bf2aa
python unittest
Running tests
Before you run the test you must start mongo database. You will do so by this command:
$ mongod --dbpath /tmp/
To run the test run command:
$ python test.py $ python setup.py test
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file log4mongo-1.3.0.tar.gz
.
File metadata
- Download URL: log4mongo-1.3.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df703ee0efc685774d51b43e800b71a1c3f8f864b15ee520053218901485eaac |
|
MD5 | b1ba156432a6423b53f713c33bec77ed |
|
BLAKE2b-256 | 7b67cbc6b19f4997bbacbc1fd8e3427c024953dc1c279f11ce6379c81051ed0d |