logging封装

# -*- coding: UTF-8 -*-
import logging
import os
import shutil
import time


class loging:
    def __init__(self):
        # 设置log对象
        self.logs = logging.getLogger(Macro.STR_OUTPUT_FILE)
        self.logs.setLevel(logging.DEBUG)
        # 日志输出到文件
        self.loger = logging.FileHandler(Macro.STR_OUTPUT_FILE)
        self.loger.setLevel(logging.DEBUG)
        # 打印日志
        self.logee = logging.StreamHandler()
        self.logee.setLevel(logging.DEBUG)
        # 设置日志格式
        formatter = logging.Formatter("[%(asctime)s] -- [%(levelname)s]:%(message)s","%Y-%m-%d %H:%M:%S")
        self.loger.setFormatter(formatter)
        self.logee.setFormatter(formatter)
        # 将相应的handler添加到logs对象中
        self.logs.addHandler(self.loger)
        self.logs.addHandler(self.logee)

    def print_logs(self,Level="",Content=""):
        if Level == "debug":
            self.logs.debug(Content)
        elif Level == 'info':
            self.logs.info(Content)
        elif Level == 'warn':
            self.logs.warn(Content)
        elif Level == 'error':
            self.logs.error(Content)
        elif Level == 'critical':
            self.logs.critical(Content)

    def Save_Log(self,Log_Path, Logs_Path):
        # 保存日志
        shutil.copyfile(Log_Path,Logs_Path)
        self.loger.close()
        time.sleep(5)
        if os.path.exists(Log_Path) == True:
            file = open(Log_Path, 'w+')
            file.truncate()
            file.close()
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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个方法,分别用于打印不同级别的日志信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值