Guest User

Untitled

a guest
Apr 26th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. """``MongoHandler`` - Python logging handler for MongoDB.
  2.  
  3. Usage: ::
  4.  
  5. import logging
  6. from mongohandler import MongoHandler
  7.  
  8. logger = logging.getLogger("my-logger")
  9. logger.setLevel(logging.DEBUG)
  10. logger.addHandler(MongoHandler(db="big_brother", collection="logs"))
  11. logger.info("The object of power is power.")
  12.  
  13. """
  14. import logging
  15. import pymongo
  16.  
  17.  
  18. class MongoHandler(logging.Handler):
  19. def __init__(self, level=0, hostname="localhost", port=27017, \
  20. db="global_logging", collection="log_data"):
  21. logging.Handler.__init__(self)
  22.  
  23. self.setLevel(level)
  24. self.connection = pymongo.Connection(hostname)
  25. self.db = getattr(self.connection, db)
  26. self.collection = getattr(self.db, collection)
  27.  
  28. def emit(self, record):
  29. log_entry = {
  30. 'levelname': record.levelname,
  31. 'levelno': record.levelno,
  32. 'name': record.name,
  33. 'msg': record.msg,
  34. 'created': record.created
  35. }
  36.  
  37. self.collection.ensure_index("levelname")
  38. self.collection.ensure_index("levelno")
  39. self.collection.ensure_index("created")
  40. self.collection.insert(log_entry)
Add Comment
Please, Sign In to add comment