pyhon 自动化 logger

#!/Users/windows8.1/PycharmProjects/pythonapi
# @Software: PyCharm Community Edition
# -*- coding: utf-8 -*-
'''
日志的级别包括:debug info error warming critical
使用 RotatingFileHandler,优势定义最大字节数多少,备份次数多少次,
设置最大字节 maxBytest = 20*1024*1024
定义备份次数最大个数10个 backupCount=10
不同modul的logger 类,需要封装
'''
import os
import logging
import logging.handlers
from common import contants


def get_logger(logger_name):
logger = logging.getLogger(logger_name)
   #每个model输出的最低级别为 info
logger.setLevel('INFO')
# 定义输出格式
fmt = "%(asctime)s-%(name)s-%(levelname)s-%(message)s-[%(filename)s:%(lineno)s]"
formate = logging.Formatter(fmt)
  #定义日志大小 和 日志输出存放的位置
file_name = os.path.join(contants.logs_dir,'case.log')
file_hander = logging.handlers.RotatingFileHandler(file_name, maxBytes=20 * 1024 * 1024, backupCount=10,
encoding='utf-8')
file_hander.setLevel('INFO')
file_hander.setFormatter(formate)

logger.addHandler(file_hander)
return logger


# logger = get_logger(logger_name='LoginTest')
# logger.error('this is login error')

封装完之后需要在 contants.py 中增加log 路径:
logs_dir = os.path.join(base_dir,"logs")
print(logs_dir)

common_dir = os.path.join(base_dir,"common")
log_dir = os.path.join(common_dir,"log")
print(log_dir)

最后在 testcase 中引入model
from common import contants,log
log = log.get_logger('login/invest/rechage/register')
再次 把 print 修改成 log.info/log.error

原文地址:https://www.cnblogs.com/weihc/p/11954600.html