如何将python记录器信息重定向到python中的日志文件

时间:2019-03-02 10:32:06

标签: python logging

我想将所有python logger消息写入日志文件。 我有这段代码,但是该代码在控制台上显示消息,只是创建了日志文件,但没有写入任何内容。

file_handler = logging.FileHandler(filename='tmp.log')
stdout_handler = logging.StreamHandler(sys.stdout)
handlers = [file_handler, stdout_handler]

logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',
    handlers=handlers
)
logger = logging.getLogger("somename")

我在这里做什么错

1 个答案:

答案 0 :(得分:1)

这样做,而不是:

logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',
    filename='tmp.log'
)
logging.debug("somename")

如果filename中提供了basicConfig参数,则表示文件以该模式打开。默认值为a,表示追加