根据文档 here这个答案here ,要求我的记录器的日志级别应该返回这个级别名称之一
_levelNames = {
CRITICAL : 'CRITICAL',
ERROR : 'ERROR',
WARNING : 'WARNING',
INFO : 'INFO',
DEBUG : 'DEBUG',
NOTSET : 'NOTSET',
'CRITICAL' : CRITICAL,
'ERROR' : ERROR,
'WARN' : WARNING,
'WARNING' : WARNING,
'INFO' : INFO,
'DEBUG' : DEBUG,
'NOTSET' : NOTSET,
}
但是当我调用
print logging.getLevelName("debug")
我得到:
Level debug
所以我不能以舒适的方式做类似的事情:
logger.setLevel(foo)
其中 fo 是我从其他方法获得的字符串...
有什么建议吗?
谢谢
请您参考如下方法:
这根本不是文档所说的。它说如果你传递一个映射到预定义日志记录级别之一的整数,你会得到一个很好打印的字符串版本:
>>> print(logging.getLevelName(logging.DEBUG))
DEBUG
否则,如您所述,您将获得“级别 x”。
链接的答案明确指出从字符串到整数不是该函数的作用。
