orangleliu 笔记本

lzz的编程之旅,技术,思考,分享,happy

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

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

阅读更多
版权声明:本文为orangleliu (http://blog.csdn.net/orangleliu/)原创文章,自由传播,文章转载请声明, 多谢。 https://blog.csdn.net/lzz957748332/article/details/74452142
个人分类: 如今Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭