告诉你为什么会发生的日志库

eliot的Python项目详细描述


Build Status

python的内置logging和其他类似的系统输出了一系列factoid:它们很有趣,但是您无法真正知道发生了什么。

  • 为什么你的申请很慢?
  • 是什么原因导致选择了此代码路径?
  • 为什么会发生这个错误?

标准日志无法回答这些问题。

但是,有了一个更好的模型,您就可以理解应用程序中发生了什么以及为什么发生了这些事情。 你可以找出性能瓶颈,你可以理解什么时候发生了什么,谁叫什么。

艾略特就是这么做的。 eliot是一个python日志系统,它输出actions的因果链:actions可以生成其他action,最终它们要么成功,要么失败。 生成的日志告诉您软件所做的事情:发生了什么,以及是什么导致了它。

Eliot支持一系列用例和第三方库:

Eliot仅用于生成日志;如果在多台计算机上使用多个进程,则可能需要LogStash和ElasticSearch等工具来聚合和存储日志。

Eliot支持Python3.5、3.6和3.7以及PyPy3。 它由Itamar Turner Trauring维护,并在Apache2.0许可下发布。

python 2.7处于遗留支持模式,支持的最后一个版本是1.7;有关详细信息,请参见here

推荐信

“Eliot has made tracking down causes of failure (in complex external integrations and internal uses) tremendously easier. Our errors are logged to Sentry with the Eliot task UUID. That means we can go from a Sentry notification to a high-level trace of operations—with important metadata at each operation—in a few seconds. We immediately know which user did what in which part of the system.”

—Jonathan Jacobs

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

推荐PyPI第三方库


热门话题
java如何使用for循环从字符数组中绘制精灵   对象关系的java空接口建模   java在使用片段时无法启动activity ComponentInfo   java获得网络适配器的最大带宽   JavaJSP:如何从会话中获取价值?   时间复杂性就性能而言,在Java中,使用多个操作执行一个for或使用每个操作执行多个for会产生什么影响?   Java Scanner在使用NetBeans时出现问题,它不会显示任何反应   java如何在char变量中存储换行符?   java Apache Pivot和自定义ListView ItemRenderer   音频Java按钮无声音播放   Java向Hashmaps数组添加元素会产生空错误   java运行一个处理类的对象   目标语言为Java的PL/SQL代码生成ANTLR解析器   java在片段上实现向上导航   java Eclipse IDE和Spring工具套件的SQL开发工具在哪里?为什么在他们的市场上似乎找不到它们?   使用EventHandler更改java图形   java在springboot中将protobuf作为JSON发送   oraclesqldeveloperjava。sql。SQLRecoverableException:IO错误:生成NL异常