我是python的新手.我正在尝试登录python并且遇到了在尝试通过logger实例打印一些警告时,没有找到处理程序错误的处理程序.以下是我试过的代码
import logging
logger=logging.getLogger('logger')
logger.warning('The system may break down')
Run Code Online (Sandbox Code Playgroud)
我收到此错误没有找到记录器"logger"的处理程序
令我困惑的是,当我第一次尝试使用logging
然后通过打印警告时logger
,它工作得很好,就像
>>> import logging
>>> logging.warning('This is a WARNING!!!!')
WARNING:root:This is a WARNING!!!!
>>>
>>> logger.warning('WARNING!!!!')
WARNING:logger:WARNING!!!!
Run Code Online (Sandbox Code Playgroud)
有人可以对第二种情况下发生的事情有所了解吗?
我收到此记录器错误,我不确定这是怎么发生的.我创建了更简单的测试程序,他们工作.有任何关于这个错误可能来自何方的想法?
在python 2.6中运行这个程序!
错误:
No handlers could be found for logger "__main__"
Run Code Online (Sandbox Code Playgroud)
码:
import logging
import subprocess as sp
logger = logging.getLogger(__name__)
def runpig(filename):
# does not use logger
....
....
return
def main():
try:
runpig(filename)
except sp.CalledProcessError as ex:
logger.error(ex.message)
except:
logger.info("Error occured")
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)