我试图使用日志记录模块打印到文件。它工作正常,我的文件有日志,但它也将这些日志显示在我的控制台窗口中,我不想发生这种情况。我尝试了以下方法:
logger = logging.getLogger('log')
hdlr = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=200000, backupCount=3)
formatter = logging.Formatter('%(asctime)s -- %(levelname)s -- \n%(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
logger.propagate = False
甚至很难,它仍然可以打印到控制台。有什么想法吗?
您很可能会调用logging.basicConfig()
某个地方,或者调用logging.info()
或类似的东西(调用模块级函数,而不是logger方法)。
模块级功能旨在简化用法,如果没有将处理程序分配给根记录器,则可以创建并添加控制台处理程序。因此,请确保您没有logging.debug(...)
样式调用,并且没有在调用basicConfig()
或正在更改日志记录配置的其他日志记录配置功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句