一个python记录器,可以很好地处理datadog

nk-logger的Python项目详细描述


#nk logger
一个python logger,可以很好地使用datadog。它使用json格式化程序输出日志,将“warning”、“error”和“critical”日志发送到“stderr”,将“debug”和“info”日志发送到“stdout”。

通常,这是通过将其添加到'requirements.txt'(pip)或'environment.yml'(conda)来完成的。确保git安装在系统或容器上。

输入:
``
from nk_logger import get_logger
logger=get_logger(u name_u)
`````


然后使用like:
````
logger.debug(“这是通常不相关的内容”)
logger.info(“这是重要信息”)
logger.info(f“这里是有关此变量的信息:{var}”)
logger.warning(“可能有问题”此处错误“)
logger.error(“哦,不,一个错误!”)
logger.exception(“哦,不,一个错误!让我们记录堆栈跟踪。”)
```
请注意,“logger.exception(message)”等同于“logger.error(message,exc_info=true)`并将自动将异常信息附加到日志。

`nk_logger`模块读取“log_level”和“service_name”环境变量,并在模块导入时执行基本配置。


configure
`nk_logger`模块有两个配置参数:“level”和“prefix”。默认情况下,如果提供了它们,则在导入时由环境变量“log_level”和“service_name”设置,否则分别设置为“info”和“service”。默认情况下,根日志记录器的日志级别也设置为相同的“级别”。“config_logger”函数允许您选择性地覆盖这些默认值,并显式设置默认的“level”、“prefix”或“root_log_level”。指定“根日志”级别允许根日志记录器具有与“get日志记录器”生成的日志记录器不同的级别;这对于公开(或禁用)第三方日志(例如来自“kafka”或“requests”)很有用。

但将第三方日志保持在“警告”之下:从nk-logger import-config-logger(level=“info”,root-logu-level=“warning”)
```

config-logger(level=“info”,root-logu-level=“warning”)
````

服务名
从nk_logger import config_logger,get_logger

config_logger(level=log_level,prefix=service_name)
logger=get_logger(u name_uu)
````




` out_handler`将日志写入stdout并过滤掉'info'上面的日志。` err_handler`将日志写入stderr并忽略'warning'下面的日志。两个处理程序都附加到根日志记录器并设置为给定的日志“级别”。创建的任何新记录器都没有提供任何处理程序,因此会将其日志传递给要处理的根记录器的处理程序。第三方日志也被发送到根日志记录器,并由与内部日志相同的处理程序处理,因此它们也是json格式的。

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

推荐PyPI第三方库


热门话题
java日期格式的月和日的固定长度?   无法将java ArrayList<String>转换为字符串。   java当我使用log4j 1.2.15时,编译时出现错误;当更改为1.2.16时,一切正常   java如何使用ArgumentMatchers将任何队列告知Mockito?   如何解决“java”。Java电子邮件API中的lang.ExceptionInInitializerError   java是实例化对象名并设置其值的通用方法   java在多线程环境中,如果一个线程崩溃,如何关闭JVM?   java WebDriverManager在selenium中获取不正确版本的驱动程序   如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?   在hibernate中找不到java属性   当我用java运行调度程序时,什么都没有发生   jackson如何在java中从数据库中检索json对象   java安卓:如何在自定义适配器中设置侦听器并获取imagebutton单击的位置   java MySQLIntegrityConstraintViolationException:列“问题id”不能为空错误   JavaSpring自定义注销过滤器在注销前执行一些操作?   java如何返回常量集合   java使用subselect进行一对多分页   java二进制搜索基础。陷入无限循环