2

python中的详细程度是多少。我在单元测试中看到它。

在文档中,它只是简单地说,更高的详细程度,更多的信息会打印出来。但 更多意味着什么?也就是说,哪个消息会在更高的层次上打印出来,哪个不会呢?

还可以在日志记录中找到详细程度。

我认为它们是不同的,因为日志详细级别在 [0, 50] 中,而 unittest 只是一个单元号。我只想找出单元测试中每个详细级别之间的区别。

4

1 回答 1

1

详细级别仅与日志记录有关。在单元测试中,您可以找到它来记录信息。

注意:将级别用作常量名称(而不是数字)更符合logging.INFOPythonic logging.DEBUG

这些级别决定了您将获得的信息量。例如,将ERROR运行单元测试的级别设置为将仅显示单元测试失败的情况。将其设置为DEBUG将为您提供更多(实际上是)信息,例如变量的值是什么(在断言语句等中)。

在您的程序具有不同级别的日志记录并且您希望您的用户看到不同级别的信息的情况下,它会更有用。例如。通常你不希望用户看到内部细节,除了致命错误。因此用户将在 FATAL 或 CRITICAL 模式下运行程序。但是当发生一些错误时,您将需要这些详细信息。在这种情况下,您将在调试模式下运行程序。您也可以使用这些级别发出自定义消息。例如,如果您提供与旧版本程序的向后兼容性,您可以使用 WARN 警告它们logging.warn(),仅当日志记录级别为警告或更低时才会发出。


文档:

关卡相关的东西

默认级别和级别名称,这些可以替换为具有相应名称的任何正值集。有一个伪级别 NOTSET,它只是作为用户定义级别的下限而存在。处理程序和记录器使用 NOTSET 初始化,以便它们记录所有消息,即使在用户定义的级别。

CRITICAL = 50 
FATAL = CRITICAL
ERROR = 40 
WARNING = 30 
WARN = WARNING
INFO = 20 
DEBUG = 10 
NOTSET = 0
于 2012-07-26T05:02:00.083 回答