logging.fatal和logging.critical有什么区别?在Python 3.4中,两者似乎都表现得完全相同。是否因为某种向后兼容而保留?
答案 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)
FATAL
和CRITICAL
之间没有区别。它们具有相同的值:
import logging
print logging.FATAL
print logging.CRITICAL
输出:
50
50
PEP-282解释了术语:
术语CRITICAL优先于FATAL使用 log4j的。这些级别在概念上是相同的 - 严重的, 或非常严重,错误。然而,致命意味着死亡,其中包括死亡 Python意味着一个被提升和未被捕获的异常,回溯和 出口。由于日志记录模块不强制执行此类结果 从FATAL级日志条目中,使用CRITICAL是有意义的 偏爱致命。