logging的封装

-- coding: utf-8 --

“”"

@Time : 2019/7/26 14:55
@Auth : 潇潇
@File : log_frame.py
@IDE : PyCharm
@Motto: your story may not have such a happy beginning ,
but that doesn’t make who you are .
It is the rest of your story,
who you choose to be

“”"
import logging
from my_frame.configuration_file_frame import config

class Handlelog:
“”"
封装日志类
“”"

def __init__(self):
    #创建接收器
    self.case_logger = logging.getLogger(config.get_value("log path", "case_logger"))

    #设定接收器等级
    # 日志等级:NOTSET(0),DEBUG(10),INFO(20),WARNING(30),ERROR(40),CRITICAL(50)
    self.case_logger.setLevel(config.get_value("log path", "case_Level"))

    #定义日志输出渠道
    console_handle = logging.StreamHandler()
    file_handle = logging.FileHandler(config.get_value("log path", "file_name"), encoding="utf-8")
    #定义输出渠道日志等级
    console_handle.setLevel(config.get_value("log path", "console_handle"))
    file_handle.setLevel(config.get_value("log path", "file_handle"))
    #定义显示格式
    simple_formatter = logging.Formatter(config.get_value("log path", "simple_formatter"))
    verbose_formatter = logging.Formatter(config.get_value("log path", "verbose_formatter"))
    console_handle.setFormatter(simple_formatter)
    file_handle.setFormatter(verbose_formatter)

    #将日志器和输出渠道对接
    self.case_logger.addHandler(console_handle)
    self.case_logger.addHandler(file_handle)

def get_log(self):
    """
    返回日志器
    :return:
    """
    return self.case_logger

if name == ‘main’:
case_logger = Handlelog().get_log()
case_logger.error(“这是一个error级别的错误”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
logging是Python内置模块,用于记录日志信息。下面是一个简单的logging封装使用示例: ```python import logging class Logger: def __init__(self, name='my_logger', level='INFO', log_file=None): self.logger = logging.getLogger(name) self.logger.setLevel(logging.getLevelName(level)) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') if log_file: file_handler = logging.FileHandler(log_file) file_handler.setFormatter(formatter) self.logger.addHandler(file_handler) else: stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) self.logger.addHandler(stream_handler) def debug(self, msg): self.logger.debug(msg) def info(self, msg): self.logger.info(msg) def warning(self, msg): self.logger.warning(msg) def error(self, msg): self.logger.error(msg) def critical(self, msg): self.logger.critical(msg) ``` 上面的代码定义了一个Logger类,可以用来记录不同级别的日志信息。使用示例如下: ```python logger = Logger(name='my_logger', level='DEBUG', log_file='my.log') logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message') ``` 在以上示例中,我们创建了一个名为my_logger的Logger实例,设置了日志级别为DEBUG,并将日志记录到文件my.log中。如果没有指定log_file,则日志将打印到控制台。我们还定义了5个方法,分别用于打印不同级别的日志信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值