python日志记录更改主记录器的格式

时间:2013-12-02 07:27:29

标签: python logging

我在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 *

如果这是正确的方法,任何人都可以告诉我。或者我在这里做错了什么?

0 个答案:

没有答案