Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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
在Python中的日志格式化程序中添加自定义字段_Python_Python 3.x_Logging - Fatal编程技术网

在Python中的日志格式化程序中添加自定义字段

在Python中的日志格式化程序中添加自定义字段,python,python-3.x,logging,Python,Python 3.x,Logging,我在一个模块中定义了一个函数: import logging formatter = logging.Formatter('%(clientname)|%(asctime)s|%(message)s',"%Y-%m-%d %H:%M:%S") def setup_logger(name, log_file, level=logging.INFO): handler = logging.FileHandler(log_file, mode='a') handl

我在一个模块中定义了一个函数:

import logging
formatter = logging.Formatter('%(clientname)|%(asctime)s|%(message)s',"%Y-%m-%d %H:%M:%S")


def setup_logger(name, log_file, level=logging.INFO):

    handler = logging.FileHandler(log_file, mode='a')        
    handler.setFormatter(formatter)

    logger = logging.getLogger(name)
    logger.setLevel(level)
    logger.addHandler(handler)

    return logger
我想在登录时添加客户端名称。现在我的是一个跨越许多模块的flask应用程序,所以我定义了这个记录器。我使用getLogger在其他模块中获取日志。在主烧瓶应用程序(即server.py)中,我将记录器定义为:

info_logger = logger.setup_logger('info_logger', LOG_DIR + "status_log.csv")
然后我有一个在多个客户机上循环的循环。每当循环开始时,我都会重新定义记录器:

info_logger = logging.LoggerAdapter(info_logger, {'clientname':configData[obj]["client_name"]})
但这给了我错误:

  • ValueError:不支持的格式字符“|”
  • AttributeError:“LoggerAdapter”对象没有属性“manager”
  • KeyError:'clientname'
  • 我一直在寻找一个合适的方法来做到这一点。我已经阅读并遵循了文档,但没有结果