只需获取根 Logger 的句柄并添加StreamHandler . StreamHandler写入stderr . 不确定你是否真的需要stdout而不是stderr,但这是我在设置Python Logger 时使用的,我也添加了FileHandler . 然后我的所有日志都会转到这两个地方(这听起来像你想要的) .
import logging
logging.getLogger().addHandler(logging.StreamHandler())
您还可以向其添加Formatter,以便所有日志行都有一个公共 Headers .
即:
import logging
logFormatter = logging.Formatter("%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s")
rootLogger = logging.getLogger()
fileHandler = logging.FileHandler("{0}/{1}.log".format(logPath, fileName))
fileHandler.setFormatter(logFormatter)
rootLogger.addHandler(fileHandler)
consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(logFormatter)
rootLogger.addHandler(consoleHandler)
打印到以下格式:
2012-12-05 16:58:26,618 [MainThread ] [INFO ] my message