输出中未显示Python 3.7日志记录问题

时间:2019-02-26 13:55:56

标签: python logging

我知道现在在StackOverflow中已经问过两次这个问题,但是没有人回答这个问题。

这是我的代码:

logging.basicConfig(filename="logfile.log", filemode='w',
         format='%(asctime)s:%(levelname)s:%(message)s', datefmt='%m/%d/%Y %H:%M:%S')
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical error message')

输出控制台为。仅logfile.log具有日志字符串。但是,当我删除文件名属性时,它开始显示控制台。我想在控制台中显示并写在我的日志文件中。我想念什么?请回答代码。我阅读了两次或两次文档。谢谢。

1 个答案:

答案 0 :(得分:0)

只需获取记录器的句柄,然后添加StreamHandler和FileHandler

import logging

logFormatter = logging.Formatter("%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s]  %(message)s")
logger = logging.getLogger()

fileHandler = logging.FileHandler("{0}/{1}.log".format(logPath, fileName))
fileHandler.setFormatter(logFormatter)
logger.addHandler(fileHandler)

consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(logFormatter)
logger.addHandler(consoleHandler)