Python中的详细级别到底是什么?(每个级别之间的差异)

问题描述 投票:0回答:2

Python 的详细级别是多少? 我在单元测试中看到它。

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

还可以发现日志记录的冗长性。

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

python unit-testing logging
2个回答
1
投票

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

注意:使用级别作为常量名称(

logging.INFO
logging.DEBUG
而不是数字)更符合Python风格。

这些级别决定了您将获得的信息量。例如,将运行单元测试的级别设置为

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

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

logging.warn()
警告它们,只有当日志记录级别为警告或更低时才会发出该警告。


文档:

关卡相关的东西

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

CRITICAL = 50 
FATAL = CRITICAL
ERROR = 40 
WARNING = 30 
WARN = WARNING
INFO = 20 
DEBUG = 10 
NOTSET = 0

0
投票

你猜怎么着?!我刚刚敲定一些东西,意识到下周我有空所以我想,为什么不顺便过去看看你那张很棒的脸(也许还搜查一下你的冰箱)?

我很想念并听听你在做什么。另外,我迫不及待地想给[侄子的名字]一个大大的拥抱,并用一些礼物宠坏他(别担心,我不会太过分)。

让我知道哪几天最适合您以及您是否需要我带来任何东西。期待见到你们俩!

拥抱,[你的名字]

© www.soinside.com 2019 - 2024. All rights reserved.