• python 的日志相关应用


    python日志主要用logging模块;

    示例代码如下:

    #coding:utf-8
    import  logging
    
    
    class logger():
        '''
        %(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
        '''
        format_dict = {
           1 : logging.Formatter('%(asctime)s - %(filename)s-[line:%(lineno)d]-%(name)s - %(levelname)s - %(message)s'),
           2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        }
    
    
        def __init__(self, logname, loglevel, logger):
            '''
               指定保存日志的文件路径,日志级别,以及调用文件
               将日志存入到指定的文件中
            '''
    
            # 创建一个logger
            self.logger = logging.getLogger(logger)
            self.logger.setLevel(logging.DEBUG)
    
            # 创建一个handler,用于写入日志文件
            fh = logging.FileHandler(logname)
            fh.setLevel(logging.DEBUG)
    
            # 再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.DEBUG)
    
            # 定义handler的输出格式
            #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            formatter =self.format_dict[int(loglevel)]
            fh.setFormatter(formatter)
            ch.setFormatter(formatter)
    
            # 给logger添加handler
            self.logger.addHandler(fh)
            self.logger.addHandler(ch)
    
        def __init__(self,loglevel, logger):
            '''
               指定保存日志的文件路径,日志级别,以及调用文件
               将日志存入到指定的文件中
            '''
    
            # 创建一个logger
            self.logger = logging.getLogger(logger)
            self.logger.setLevel(logging.DEBUG)
    
            # 再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.DEBUG)
    
            # 定义handler的输出格式
            #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            formatter =self.format_dict[int(loglevel)]
            ch.setFormatter(formatter)
    
            # 给logger添加handler
            self.logger.addHandler(ch)
    
    
        def getlog(self):
            return self.logger
    
    
    if __name__ == '__main__':
        logger = logger(loglevel=2, logger="log").getlog()
        logger.info("we are the world!!!!")
  • 相关阅读:
    Winform配置文件读写操作
    Winform 实现图片轮播(解决Image.FromFile内存不足)
    asm磁盘dd破坏恢复
    文件系统重新分区oracle恢复
    删除分区 oracle asm disk 恢复
    raid强制上线后数据库无法启动故障处理
    记录一次oracle现场故障处理经过
    .makop病毒加密数据库恢复
    Oracle Recovery Tools解决数据库open过程报 ORA-01555错误
    操作系统层面反删除恢复文件损坏太多处理—-oracle碎片恢复
  • 原文地址:https://www.cnblogs.com/mlmy/p/6295132.html
Copyright © 2020-2023  润新知