python 修改配置文件_为python动态更改配置文件的格式

我有以下关于python日志模块的问题。在我可以从代码中动态更改配置文件中定义的格式吗?

我的应用程序中的一个模块可以通过配置文件配置其格式,而其他模块可以通过python脚本配置它们的格式和其他属性吗?

我想将上下文信息添加到日志中,但我正在使用配置文件来定义记录器属性。我该怎么办?

如果需要,我可以提供一些应用程序结构和代码。在

结构-

1.)代理-调用日志设置脚本来设置记录器配置

2.)模块

我有一个日志设置脚本,它有以下方法:

测井_设置.py在import logging

import logging.handlers

LOGGER_FORMAT="%(asctime)s %(CMDID)s %(levelname)s %(message)s"

class testFormatter(logging.Formatter):

def format(self,record):

record.message=record.getMessage()

if string.find(self._fmt,"%(asctime)") >= 0:

record.asctime = self.formatTime(record, self.datefmt)

if threading.currentThread().getName() in cmdidDict:

record.CMDID=cmdidDict[threading.currentThread().getName()]

else:

record.CMDID="Oda_EnvId"

return self._fmt % record.__dict__

def initLogging(loggername,newCMDID):

global CMDID

global newCMDID

logger=logger.getLogger(loggername)

format=testFormatter(LOGGER_FORMAT)

*set up other config*

所以我想在日志中动态设置CMDID变量,这是通过使用testFormatter类并用该类初始化logger来实现的。我希望你能有更多的想法。在

^{pr2}$

但是现在我想从模块本身更改日志的日志级别,使其始终保持相同的格式。所以我决定创建一个通用配置文件,在整个应用程序中为我设置日志记录配置。我的问题是如何使这个配置文件以格式设置CMDID变量。在

配置文件[loggers]

keys=root,testModule

[formatters]

keys=generic

[handlers]

keys=fh

[logger_root]

level=DEBUG

handlers=fh

[logger_testModule]

level=ERROR <

handlers=fh

qualname=testModule

propagate=0

[handler_fh]

class=handlers.RotatingFileHandler

level=DEBUG

formatter=generic

maxBytes=1000

args=('spam.log',)

[formatter_generic]

format=%(asctime)s %(levelname)s %(message)s <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值