如何在Python的代码中使用记录器级别的状态

时间:2018-07-04 06:59:27

标签: python

我有以下记录器(Python 2.7):

search_case_insensitive

记录器可以设置为Debug / Info等...

稍后,我的代码确实收到了来自API的请求。 我可以连接到测试API或生产API。

String

有没有一种方法可以使用记录器级别,以便脚本自己知道应该选择测试url还是生产url?如您所见,其中之一在评论中,我每次都必须手动对其进行更改。

类似的东西:

logger = logging.getLogger('solution')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = ....
ch.setFormatter(formatter)
logger.addHandler(ch)

我知道我可以设置一个全局变量来解决此问题,但我想知道记录器是否可以用于此目的。

1 个答案:

答案 0 :(得分:1)

您可以使用logging.getLogger('solution')。getEffectiveLevel()来获取整数格式的级别:

10用于调试
30为默认值,依此类推。

然后可以使用这些值来激活控制语句。这些值基本上是作为常量存储在“ logging.DEBUG”中的值。因此常量“ logging.DEBUG”实际上是10。