我知道现在在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具有日志字符串。但是,当我删除文件名属性时,它开始显示控制台。我想在控制台中显示并写在我的日志文件中。我想念什么?请回答代码。我阅读了两次或两次文档。谢谢。
答案 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)