zoukankan      html  css  js  c++  java
  • 封装好的日志模块

    import logging
    import time
    import  os
    from common.file_path import logs_path
    
    now = time.strftime('%Y-%m%d', time.localtime(time.time()))
    log_path = os.path.join(logs_path,(now + ".log"))
    
    class MyLog(logging.Logger):
    
        def __init__(self,
                     log_name,
                     loger_level='DEBUG',
                     export_level='DEBUG',
                     txt_level='DEBUG',
                     fmt='%(asctime)s--%(filename)s--line:%(lineno)d--%(levelname)s:%(message)s',
                     flie_name=log_path
                     ):
    
            #初始化一个loger对象,self代表一个loger对象
    
            super().__init__(log_name,loger_level)
    
            # 获取日志等级
            self.setLevel(loger_level)
    
            # 创建一个输出处理器
            export_handler = logging.StreamHandler()
    
            # 设置输出处理器的级别
            export_handler.setLevel(export_level)
    
            # 把输出处理器添加到日志收集器上
            self.addHandler(export_handler)
    
            # 设置日志格式
            fmat = logging.Formatter(fmt)
            export_handler.setFormatter(fmat)
    
    
            # 设置文本输出log
            if flie_name:
                txt_log = logging.FileHandler(flie_name, encoding='utf-8')
                txt_log.setLevel(txt_level)
                self.addHandler(txt_log)
                txt_log.setFormatter(fmat)
    
    # if __name__=='__main__':
    #
    #     loger=LoggerHander(__name__)
    #
    #     loger.debug("debug级别的日志")
    #     loger.info("info级别的日志")
    #     loger.warning("waring级别的日志")
    #     loger.error("error级别的日志")
    #     loger.critical("critical级别的日志")
  • 相关阅读:
    Day 09 文件处理
    Day 08 字符编码
    day 07 猜年龄
    Day 07 元组/字典/集合/python深浅拷贝
    Day 06 猜年龄/三级菜单
    并发编程-Atomic的compareAndSet
    并发编程-多线程共享变量不安全
    Spring boot Junit单元测试回滚
    Java 不区分大小写比较字符串
    IDEA 设置html 和js热发布
  • 原文地址:https://www.cnblogs.com/XXQQ123/p/13072084.html
Copyright © 2011-2022 走看看