python-logging模块二次封测

封装日志模块

coding=utf-8
import logging
from common_fun.public_path import log_path
# from common_fun.get_path import log_path
import time
import os


def Read_log(logger_name):
    """

    :param logger_name: 填项目名称表示哪个项目
    :return:五种日志级别按从低到高排序:
    DEBUG < INFO < WARNING < ERROR < CRITICAL
    """

    #创建一个logger
    logger = logging.getLogger(logger_name)
    logger.setLevel(logging.INFO)
    #获取本地时间,转换为设置的格式
    #rq = time.strftime('%Y%m%d%H%M',time.localtime(time.time()))
    rq = time.strftime("%Y_%m_%d_")
    #设置日志文件存放路径,日志文件名

    #设置所有日志和错误日志的存放路径
    # 通过getcwd.py文件的绝对路径来拼接日志存放路径
    # all_log_path = os.path.join(DIR,'logs/info_logs/')
    # error_log_path = os.path.join(DIR,'logs/error_logs/')
    cur_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))  # log_path是存放日志的路径
    #设置日志文件名
    # all_log_name = log_path("veryfit","logs/all_log")
    # error_log_name = log_path("veryfit","logs/error_log")

    all_log_name = os.path.join(cur_path, 'logs/all_log/veryfitRunDateLog.log')
    error_log_name = os.path.join(cur_path, 'logs/error_log/veryfitRunDateLog.log')

    #创建handler
    #创建一个handler,写入所有日志
    fh = logging.FileHandler(all_log_name,encoding="utf-8")
    fh.setLevel(logging.INFO)

    #创建一个handler,写入错误日志
    eh = logging.FileHandler(error_log_name,encoding="utf-8")
    eh.setLevel(logging.ERROR)

    #创建一个handler,输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)

    #定义日志输出格式
    #以时间-日志器名称-日志级别-日志内容的形式展示
    all_log_formatter = logging.Formatter('%(asctime)s  %(module)s  [%(levelname)s]  name: %(name)s  内容: %(message)s')
    # 以时间-日志器名称-日志级别-文件名-函数行号-错误内容
    error_log_formatter = logging.Formatter('%(asctime)s  %(name)s [%(module)s.py: %(funcName)s :%(lineno)s行] [ %(levelname)s] 内容: %(message)s')

    # 将定义好的输出形式添加到handler
    fh.setFormatter(all_log_formatter)
    ch.setFormatter(all_log_formatter)
    eh.setFormatter(error_log_formatter)

    # 给logger添加handler
    # logger.addHandler(fh)
    # logger.addHandler(eh)
    logger.addHandler(ch)
    return logger






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值