logging.fatal和logging.critical有什么区别?

时间:2015-07-01 19:44:21

标签: python logging

logging.fatal和logging.critical有什么区别?在Python 3.4中,两者似乎都表现得完全相同。是否因为某种向后兼容而保留?

2 个答案:

答案 0 :(得分:16)

logging.FATAL包的第一次提交到Python存储库,

logging.CRITICAL等于logging

出于兼容性原因; Java log4j包(它是此模块的关键影响因素之一)使用FATAL作为最高级别,但Python认为名称CRITICAL更能反映这种情况。

请参阅PEP 282 A Logging System,将logging包添加到Python的Python增强建议:

  

术语CRITICAL优先于FATAL使用       log4j的。这些级别在概念上是相同的 - 严重的,       或非常严重,错误。然而,致命意味着死亡,其中包括死亡       Python意味着一个被提升和未被捕获的异常,回溯和       出口。由于日志记录模块不强制执行此类结果       从FATAL级日志条目中,使用CRITICAL是有意义的       偏爱致命。

答案 1 :(得分:5)

FATALCRITICAL之间没有区别。它们具有相同的值:

import logging

print logging.FATAL
print logging.CRITICAL

输出:

50
50

PEP-282解释了术语:

  

术语CRITICAL优先于FATAL使用       log4j的。这些级别在概念上是相同的 - 严重的,       或非常严重,错误。然而,致命意味着死亡,其中包括死亡       Python意味着一个被提升和未被捕获的异常,回溯和       出口。由于日志记录模块不强制执行此类结果       从FATAL级日志条目中,使用CRITICAL是有意义的       偏爱致命。