python自动化--项目如何设置全局日志

1、常规路径下配置日志读取并实例化

坑点:文件路径读取;python这块的很多报错都是因为路径读错了导致的,调试时可以加日志观测

common/log.py

# !/usr/bin/python3
# -*- coding:utf-8 -*-
from os import path
import logging
import logging.config


def get_logger(cls, name='root'):
    log_conf_file = path.join(path.abspath(path.dirname(path.dirname(__file__))),
                              "config/log.ini")
    logging.config.fileConfig(log_conf_file)
    return logging.getLogger(name)


LOG = get_logger(__name__)

config/log.ini

[loggers]
keys=root

[handlers]
keys=rotatingFileHandler,streamHandler,errorHandler

[formatters]
keys=simpleFmt

[logger_root]
level=DEBUG
handlers=rotatingFileHandler,streamHandler,errorHandler

[handler_rotatingFileHandler]
class=handlers.TimedRotatingFileHandler
level=INFO
formatter=simpleFmt
args=(os.path.abspath(os.getcwd() + "/log/default.log"),"midnight", 1, 6,'utf-8')


[handler_errorHandler]
class=handlers.TimedRotatingFileHandler
level=ERROR
formatter=simpleFmt
args=(os.path.abspath(os.getcwd() + "/log/error.log"), "midnight", 1, 6,'utf-8')

[handler_streamHandler]
level=INFO
class=StreamHandler
formatter=simpleFmt
args=(sys.stdout,)

[formatter_simpleFmt]
format=%(asctime)s %(pathname)s(%(lineno)d): %(levelname)s %(message)s

2、其他路径中直接引用

run.py

# !/usr/bin/python3
# -*- coding:utf-8 -*-

"""
@File: run.py
@Description: 项目入口
"""

from common.log import LOG

if __name__ == '__main__':
    LOG.info('Start!')

python自动化 文章被收录于专栏

python写好pytest自动化的一些小妙招

全部评论
当openssl无法支持依赖包时,可以降低requirement的版本号;如urllib3==1.26.16
点赞 回复 分享
发布于 2023-09-07 17:53 美国

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务