您的位置:首页 > 编程语言 > Python开发

python logging模块 init格式配置传递参数

2017-07-05 15:29 519 查看
Python项目中,logging模块的配置使用了 ini 这种配置,也叫做 fileconfig 配置,然后不想把存放 log 文件的目录 硬编码。抽象出来就是怎么给 init 格式配置文件传递参数。

利用 fileConfig 中的 defaults 参数可以实现 文档地址

py文件

import logging
import logging.config
logconf = os.path.join(BASE_DIR, "conf/log.conf")
logging.config.fileConfig(logconf, defaults={'logdir': '/Users/liuzhizhi/test/logs/'})


配置文件

[loggers]
keys=root

[handlers]
keys=stream,file,rotatingFile

[formatters]
keys=form01

[logger_root]
level=DEBUG
handlers=stream,rotatingFile

[handler_stream]
class=StreamHandler
level=DEBUG
formatter=form01
args=(sys.stdout,)

[handler_file]
class=FileHandler
level=DEBUG
formatter=form01
args=('%(logdir)s' + 'portal.log', 'a')

[handler_rotatingFile]
class=handlers.TimedRotatingFileHandler
level=DEBUG
formatter=form01
args=('%(logdir)s' + 'portal.log','D',1,7)

[formatter_form01]
format=%(asctime)s %(name)s %(levelname)s %(message)s
datefmt=
class=logging.Formatter


看到了么
'%(logdir)s'
, 是不是很简单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息