我正在尝试创建一个Logger对象,该对象可以在没有根名的情况下将信息记录到控制台。
# Set up logger.
logger = logging.getLogger()
handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter("%(levelname)s:%(message)s"))
logger.addHandler(handler)
logger.info("test")
返回两条日志消息:由处理程序设置的正确消息,如果没有添加处理程序,则返回原始消息,这是什么问题?
INFO:root:test
INFO:test
弄乱它之后,我发现只有在a)添加处理程序或b)使用记录器导入另一个模块时,才会发生这种情况。
答案 0 :(得分:0)
我以为你错过了
logger.setLevel(logging.DEBUG)
在进行日志记录之前,您只需设置自己的处理程序 没有这个,我将无法获得任何输出
由于有两个输出,也许您还有其他文件也创建了记录器?