fmtter = logging.Formatter('%(asctime)s,%(msecs)05.1f (%(funcName)s) %(message)s', '%H:%M:%S')
rock_log = '%s/rock.log' % Build.path
hdlr = logging.FileHandler(rock_log, mode='w')
hdlr.setFormatter(fmtter)
hdlr.setLevel(logging.DEBUG)
rock_logger = logging.getLogger('rock')
rock_logger.addHandler(hdlr)
我有上述记录器
rock_logger.info("hi")
不会在日志中打印任何内容但是
rock_logger.error("hi")
打印到日志
我认为这与关卡有关,但我特意将其设为logging.DEBUG
任何人都知道我做错了什么?
答案 0 :(得分:2)
在您的情况下,rock_logger
是记录器,hdlr
是处理程序。当您尝试记录某些内容时,记录器首先检查它是否应该处理该消息(取决于它自己的日志级别)。然后它将消息传递给处理程序。然后,处理程序根据它自己的日志级别检查级别,并决定是否将其写入文件。
您的rock_logger
可能将日志记录级别设置为错误。因此,当您尝试info()
或debug()
时,它不会将消息传递给处理程序。
rock_logger.setLevel(logging.DEBUG)
那应该解决这个问题。