我正在尝试使用 TimedRotatingFileHandler 将简单的登录包含到我的应用程序中。但是,我将输出同时放入指定文件和标准错误中。我将问题简化为一个小例子:
import logging, logging.handlers
import sys
logging.basicConfig(format='%(asctime)s %(message)s')
loghandler = logging.handlers.TimedRotatingFileHandler("logfile",when="midnight")
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.addHandler(loghandler)
for k in range(5):
logger.info("Line %d" % k)
我的“日志文件”和该程序的 stderr 中都有 5 行日志。我做错了什么?
最佳答案
这是您可以只在日志文件上打印而不是标准输出/标准错误的方式:
import logging
from logging.handlers import TimedRotatingFileHandler
logHandler = TimedRotatingFileHandler("logfile",when="midnight")
logFormatter = logging.Formatter('%(asctime)s %(message)s')
logHandler.setFormatter( logFormatter )
logger = logging.getLogger( 'MyLogger' )
logger.addHandler( logHandler )
logger.setLevel( logging.INFO )
for k in range(5):
logger.info("Line %d" % k)
关于Python TimedRotatingFileHandler 记录到文件和 stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565256/