所以我有一个在模块中定义的函数:
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"]})
但这给了我错误:
我一直在寻找适当的方法来做到这一点。我已阅读并遵循了文档,但无济于事。