gpt4 book ai didi

python - 如何通过日志记录同时记录到文件和控制台?

转载 作者:行者123 更新时间:2023-12-05 08:58:19 25 4
gpt4 key购买 nike

我需要将数据记录到文件和控制台。我这样设置:

# set up logging
logging.basicConfig(level = logging.INFO,
format ='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt ='%Y-%m-%d %H:%M:%S',
handlers=[logging.FileHandler(dir + '/log.log'), logging.StreamHandler()]
)

然后我像这样添加数据:logging.info('Server started')。在控制台中,我看到了文本,但文件是空的。如果我删除 tgis 文件,python 会创建一个新文件,但它仍然是空的。

最佳答案

这只是为同一错误级别设置多个处理程序的情况。

删除 basicConfig 行并执行类似于下面的操作

请参阅此示例以了解如何执行此操作:

import logging

log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s',
datefmt='%d/%m/%Y %H:%M:%S')

#File to log to
logFile = 'C:\\Temp\\log'

#Setup File handler
file_handler = logging.FileHandler(logFile)
file_handler.setFormatter(log_formatter)
file_handler.setLevel(logging.INFO)

#Setup Stream Handler (i.e. console)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(log_formatter)
stream_handler.setLevel(logging.INFO)

#Get our logger
app_log = logging.getLogger('root')
app_log.setLevel(logging.INFO)

#Add both Handlers
app_log.addHandler(file_handler)
app_log.addHandler(stream_handler)

#Write some Data
while True:
app_log.info("data")

关于python - 如何通过日志记录同时记录到文件和控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24506977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com