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