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

标签: pythonloggingini参数传参
199人阅读 评论(0) 收藏 举报
分类:

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' , 是不是很简单

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1308359次
    • 积分:17203
    • 等级:
    • 排名:第588名
    • 原创:444篇
    • 转载:35篇
    • 译文:22篇
    • 评论:106条
    感谢支持
    一起玩
    统计