我正在尝试格式化记录器,为此我在设置过程中定义了格式化程序。但是我无法弄清楚如何将其设置为记录器的处理程序的格式化程序:
def mylogger(name):
logger = logging.getLogger(name)
handler = RotatingFileHandler(logger_path, 'w')
handler.setFormatter(?????)
logger.addHandler(handler)
return logger
请注意,我需要以编程方式执行此操作。我无法在设置文件中声明处理程序,因为RotatingFileHandler
可能需要传递一些其他参数。
问题是:在handler.setFormatter(?????)
中,如何获取我在设置文件中定义的格式化程序(例如,名称,以及如何检索记录器)?
答案 0 :(得分:0)
您可以这样做:
handler = RotatingFileHandler(logger_path, 'w')
formatter = logging.Formatter('%(asctime)-12s [%(levelname)s] %(message)s')
handler.setFormatter(formatter)
可以在以下位置找到文档:formatter
,setFormatter
。