我的Logger对象正在发送两条消息,而不是一条

时间:2019-07-04 10:38:36

标签: python-2.7 logging handler message

我正在尝试创建一个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)使用记录器导入另一个模块时,才会发生这种情况。

1 个答案:

答案 0 :(得分:0)

我以为你错过了

logger.setLevel(logging.DEBUG)

在进行日志记录之前,您只需设置自己的处理程序 没有这个,我将无法获得任何输出

由于有两个输出,也许您还有其他文件也创建了记录器?