接口自动化—logging日志实践

封装了日志类,可以在其他类进行调用,这里需要注意,我们一定要自己写一个方法得到当前文件的绝对路径,要不然会报找不到文件的错误哦,哈哈哈哈

实践代码
get_cwd.py

# -*-coding:utf-8-*-
import os
def get_cwd():
    path=os.path.dirname(os.path.abspath(__file__))
    #当前文件的绝对路径
    return path

get_log.py

#coding:utf-8
import logging
import getcwd
import os
import time
from logging.handlers import RotatingFileHandler
def get_log(logger_name):
    # 创建ogger输出日志对象
    logger = logging.getLogger(logger_name)
    # 设置最低日志级别:分别低到高有debug、info、warning、error以及critical
    logger.setLevel(level=logging.INFO)

    # 设置日志存放路径,日志文件名
    # 设置所有日志和错误日志的存放路径
    path = getcwd.get_cwd()
    # 所有日志存放路径
    all_log_path1 = '../logs/ALL_Logs/'
    all_log_path = os.path.join(path, 'logs/ALL_Logs/')
    # 错误日志存放路径
    error_log_path = os.path.join(path, 'logs/Error_Logs/')
    # 设置日志文件名
    ctime = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())
    all_log_name = all_log_path + ctime + '.log'
    error_log_name = error_log_path + ctime + '.log'

    # 所有日志::定义一个RotaingFileHandler,最多备份3个日志文件,每个日志文件最多1k
    all_handler = RotatingFileHandler(all_log_name, maxBytes=10 * 1024, backupCount=10)
    # 指定被处理的信息级别,低于设置级别的信息将被忽略
    all_handler.setLevel(logging.INFO)
    # 错误日志::定义一个RotaingFileHandler,最多备份3个日志文件,每个日志文件最多1k。#另一种常用设置的级别日志放在指定文件里面#handler=logging.FileHandler("testlog1.txt")
    error_handler = RotatingFileHandler(error_log_name, maxBytes=10 * 1024, backupCount=10)
    # 指定被处理的信息级别,低于设置级别的信息将被忽略
    error_handler.setLevel(logging.INFO)
    # 创建一个handler输出到控制台
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.INFO)

    # 设置输出日志格式
    # 以时间-日志器名称-日志级别-日志内容的形式展示
    all_log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    # 以时间-日志器名称-日志级别-文件名-函数行号-错误内容
    error_log_formatter = logging.Formatter(
        '%(asctime)s - %(name)s - %(levelname)s - %(module)s  - %(lineno)s - %(message)s')
    # 给handler添加输出的日志格式
    all_handler.setFormatter(all_log_formatter)
    error_handler.setFormatter(error_log_formatter)
    console_handler.setFormatter(all_log_formatter)

    # 给logger添加handler
    logger.addHandler(all_handler)
    logger.addHandler(error_handler)
    logger.addHandler(console_handler)
    return logger
logs=get_log("__name__")

# logs.info("111")

test.py

#coding:utf-8
from logs.get_log import logs,get_log
fruits='{"apple":1,"pear":2}'
text=json.loads(fruits)
print(text)
get_log('test').info('测试一下')

测试结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值