用于python日志记录的结构化格式化程序

zenetka的Python项目详细描述


zenetka
==

**zenetka**提供简单的python日志格式化程序,将
`logging.logrecord`格式化为*json*对象。


instalation
----





usage
----


配置日志。例如,如果使用“Log.CONFIG.DICONTION()格式::
日志= {
版本”:1,
“不存在的日志记录器”:false,
‘格式化程序’:{BR/>‘(’):‘ZeETKA’JsonFormatter’,
‘DATFEMT’:'%Y-%M%%D%H:%M:%s”,
“忽略的属性”:['processname','thread','threadname'],
“漂亮的”:false,
},
},
“处理程序”:{
“控制台”:{
“类”:“logging.streamhandler”,
“级别”:“notset”,
“格式化程序”:“json”,
},
},
‘记录者’:{
':{
‘级别’:‘信息’,
‘处理者’:(‘控制台’,),
},
},
}



记录消息的示例::

{“名称”:“doporucovani-storage.couchbasetstorage”,“msg”:“连接到couchbase\%s”,“args”:[“http:\/\/localhost:8091\/bucket”],“levelname”:“info”,“levelno”:20,“module”:“couchbasetstorage”,“exc_text”:,“funcname”:“connect”,“created”:1541512363.4698207378,“msecs”:469.8207378387,“relativecreated”:2155.5094718933,“process”:19816,“message”:“connecting to couchbase\”http:\/\/localhost:8091\/bucket“,“asctime”:“2018-11-06 14:52:43”,“stack_text”:“}


它们被转换为*exc_text*和*stack_text*

是否要记录其他数据?代替*args*使用一个参数
作为“dict”,或使用*extra*参数或同时使用这两个参数::

logger.info(
“连接到couchbase”%(connection_string)s“,
{connection_string':conn_str,'attempts':attempts},
extra={msg_type':'db_connect'})

*extra*转换为*json*对象的属性。` dict`用于
字符串格式,它可以包含其他属性。将生成
消息:

{“msg”:“connecting to couchbase\”%(connection_string)s\”,“args”:{“connection_string”:“http:\/\/localhost:8091\/bucket”,“attempts”:2},“msg_type”:“db_connect”,“message”:“connecting to couchbase\”http:\/\/localhost:8091\/bucket\”,“asctime”:“2018-11-06 14:52:43”,“stack_text”:“,…}

记录日志并享受结构化日志。然而,文本日志仍然可用,因为没有魔力,它仍然是python的日志。
这取决于配置,所以对经典文本使用'logging.formatter'
日志:


2018-11-06 14:52:43信息连接到couchbase“http://localhost:8091/bucket”

许可证
----


3-clause bsd

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于限制返回字符串大小的java<bean:write>标记   java将值传递给内部类方法?   数组无法在Java中使用for循环获取所有JSONObject   java中的StringTokenizer需要帮助   java如何在运行时在方法中自动连接类   java通过setter或构造函数分配多个字段   java JPA OneToMany ManyTone   java无法解析类org。贾布拉斯。双矩阵   java如何使用Rest-Assured从以下Json响应获取NetworkID   如果类具有“org”字段,则java@Slf4j生成“无法引用非静态变量org”   swing Java jform前景色未显示   java向kafka事件订阅rest api   java为什么我的数组会出现NullPointerException?   java通过JavaMail从Exchange server读取Zip文件后提取Zip文件的内容   Java中的字符串值舍入   java如何解析单个变量中的每个字符串   带有ListView头的java ListView   java输入流无限循环   java Grails在Spring Boot中的BootStrap#init等价物?