可通过环境变量配置的下拉式记录器

app-logger的Python项目详细描述


应用程序记录器

这是一个使用python-json-logger将json适当地记录到stdout和stderr的drop-in记录器。调试和信息转到stdout,WARNING,ERROR,CRITICAL转到stderr。在

配置

所有配置都是通过环境变量进行的,所有配置都有默认值,因此不需要任何配置。在

记录器姓名

记录器应该被称为什么?默认值将使用根记录程序。使用默认的or root不仅会记录来自app_logger的语句,而且还会记录来自正在使用的库中的任何语句。 Format:只是一个常规字符串 Defaultroot示例mysweetapp

日志级别

用于设置日志级别。可用于设置任何日志级别,以便有选择地控制日志记录。可以是大写或小写。 Format:键=值对的逗号分隔字符串 Defaultroot=INFOExampleroot=DEBUG,asyncio=INFO

日志格式

用于控制日志格式。 Format:日志格式字符串log record attributesDefault:`%(levelname)%(name)%(asctime)%(模块)%(funcName)%(lineno)%(消息)``

使用

记录器初始化自身并使其自身作为名为app_logger的变量可用。它是一个常规的python记录器,可以这样使用。 Exampleapp_logger.info("I always hated python logging but now it's easy and just works")结果日志{"levelname": "INFO", "name": "root", "asctime": "2020-04-11 11:24:17,299", "module": "main", "funcName": "main", "lineno": 14, "message": "I always hated python logging but now it's easy and just works"}

添加上下文

您可以使用pythonjson logger的extra=特性向消息添加上下文。如果你能很容易地在日志中搜索和分析。 Example 如果你有一个字典,你可以把它包含在日志语句中,而不需要冗长的字符串格式。 app_logger.error('Error handling message', extra=message)结果日志{"levelname": "ERROR", "name": "root", "asctime": "2020-04-11 11:27:36,584", "module": "main", "funcName": "main", "lineno": 16, "message": "Error handling message", "guid": "7cc81eba-3bbc-4555-8fab-2a7556072f5d", "subject": "test"} 您可以看到在kibana中找到这样的日志是多么容易,而且它已经是json格式,所以很容易索引/搜索,包括通过extra=给出的上下文

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

推荐PyPI第三方库


热门话题
java无法将自定义数据类型转换为字符串?   JavaLog4j和appender,这个Log4j定义正确吗?   用于换行的java Android Eclipse拆分   与某个方法关联的java启用/禁用JButton   java小部件列表视图加载视图   java国家/地区名称中的正则表达式   从Java调用Kotlin时,如何获取错误的行号?   java将视图传递给AsyncTask以访问findViewById   java SQL性能:多个绑定还是绑定到一个SQL变量以供重用?   BluetoothAdapter上的安卓 Java NullPointerException。isEnabled()   在clojure中取消引用java方法   JAVA网SocketException:IP_添加_成员身份失败(硬件筛选器不足?)   java从类对象的方法接收nullpointer异常   java使用for循环创建多个对象   java无法使用NTLM身份验证apache camel cxf   java Eclipse不喜欢@Override注释   java Spark SQL模拟红移(Oracle)“系统日期”或“当前日期”