使用MongoDB简化集中日志记录
mongolog的Python项目详细描述
Info: | MongoDB python logging handler. Python centralized logging made easy. |
---|---|
Author: | Andrei Savu |
Maintainer: | Jorge Puente Sarrín |
设置
在使用此处理程序进行日志记录之前,您需要创建一个 MongoDB服务器上的集合。
您可以使用mongodb shell中的以下命令来执行此操作:
> use mongolog > db.createCollection('log', {capped:true, size:100000})
…你准备好了。在log集合上运行stats()函数 应该显示如下内容:
> db.log.stats() { "ns" : "mongolog.log", "count" : 0, "size" : 0, "storageSize" : 102400, "numExtents" : 1, "nindexes" : 1, "lastExtentSize" : 102400, "paddingFactor" : 1, "systemFlags" : 1, "userFlags" : 0, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "capped" : true, "max" : 2147483647, "ok" : 1 }
用法
>>> import logging >>> from mongolog.handlers import MongoHandler >>> >>> log = logging.getLogger('demo') >>> log.setLevel(logging.DEBUG) >>> log.addHandler(MongoHandler.to(db='mongolog', collection='log')) >>> >>> log.debug('Some message')
查看samples文件夹以了解更多详细信息。
为什么要集中日志记录?
- 简单的故障排除:
- 知道为什么吗?快速准确。
- 用于在系统关闭时进行故障诊断。
- 消除了日志信息丢失的风险。
- 资源跟踪。
- 安全。
为什么MongoDB非常适合日志记录?
- MongoDB插入可以异步完成。
- 由于有上限的集合,旧的日志数据会自动退出lru。
- 对这个问题来说足够快了。
- 面向文档的/json是一种很好的日志信息格式。
在MongoDB blog上阅读有关此主题的更多信息。
玩得开心!