如何以编程方式设置格式化程序?

时间:2019-09-05 11:12:26

标签: django logging formatter django-1.8

我正在尝试格式化记录器,为此我在设置过程中定义了格式化程序。但是我无法弄清楚如何将其设置为记录器的处理程序的格式化程序:

def mylogger(name):
    logger = logging.getLogger(name)
    handler = RotatingFileHandler(logger_path, 'w')
    handler.setFormatter(?????)
    logger.addHandler(handler)
    return logger

请注意,我需要以编程方式执行此操作。我无法在设置文件中声明处理程序,因为RotatingFileHandler可能需要传递一些其他参数。

问题是:在handler.setFormatter(?????)中,如何获取我在设置文件中定义的格式化程序(例如,名称,以及如何检索记录器)?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

handler = RotatingFileHandler(logger_path, 'w')
formatter = logging.Formatter('%(asctime)-12s [%(levelname)s] %(message)s')  
handler.setFormatter(formatter)

可以在以下位置找到文档:formattersetFormatter