Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何以编程方式设置格式化程序?_Django_Logging_Formatter_Django 1.8 - Fatal编程技术网

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

Django 如何以编程方式设置格式化程序?,django,logging,formatter,django-1.8,Django,Logging,Formatter,Django 1.8,我正在尝试格式化我的记录器,为此我在设置生活中定义了一个格式化程序。但是,我无法确定如何将其设置为记录器的处理程序的格式化程序: def mylogger(name): logger = logging.getLogger(name) handler = RotatingFileHandler(logger_path, 'w') handler.setFormatter(?????) logger.addHandler(handler) return lo

我正在尝试格式化我的记录器,为此我在设置生活中定义了一个格式化程序。但是,我无法确定如何将其设置为记录器的处理程序的格式化程序:

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)
文档可在此处找到: