我在Python中有一个客户端代理结构。
AgentClientLogger.py(包含记录器定义)
import logging
def initLogging(loggername,logdir,logfile,loglevel,CMDID,logToConsole=False):
logger=logging.getLogger(loggername)
format=logging.Formatter(LOGGER_FORMAT)
**filehandle definition**
Agent.py/Client.py
import AgentClientLogger.py
def initLogging():
global logger
logger=AgentClientLogger(loggername,logdir,loglevel,CMDID,logToConsole=False)
#MAIN
initLogging()
Actions.init(logger)
Actions.py
def init(plogger):
global logger
logger=plogger
def someFns():
*do something*
所以这是我面临的问题。保持这种结构而不更改记录器调用过多,如何更改记录器的格式。因此,为了简化,我想为客户端使用不同格式的记录器,为代理使用不同的格式,为操作使用不同的格式。但我想在AgentClientLogging.py中进行所有更改,以便所有日志记录设置都有一个全局公共位置。
我尝试过以下但它似乎无法正常工作。
在AgentClientLogger.py中定义一个类CustomeSettings
class CustomeSettings(logging):
*get Handlers*
* use setFormatter to change format *
如果这是正确的方法,任何人都可以告诉我。或者我在这里做错了什么?