Logging.py 2.29 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import logging,os
 
class Logger():
 
    def __init__(self, path=__name__,clevel = logging.ERROR,Flevel = logging.DEBUG,test = 'w'):
        #test = 'w'时每次日志文件都重新写入,test = 'a'时为追加模式,在原来日志文件上追加日志
        #重写模式的时,发送test.log没有信息,用追加模式可以(注意如果为a时日志可能出现重复,为w时没有这个现象)
        #设置日志路径
        current_path=os.path.dirname(os.path.dirname(__file__))
        path=current_path+"/report"+"/test.log"
        
        self.logger = logging.getLogger(path)
        
        self.logger.setLevel(logging.DEBUG)
        
        fmt = logging.Formatter('[%(asctime)s] [%(levelname)s] : %(message)s', '%Y-%m-%d %H:%M:%S')
#         fmt = logging.Formatter('[%(asctime)s] %(levelname)s [%(name)s,%(funcName)s: %(filename)s, %(lineno)d] %(message)s', '%Y-%m-%d %H:%M:%S')
        #设置CMD日志
        
        sh = logging.StreamHandler()
        
        sh.setFormatter(fmt)
        
        sh.setLevel(clevel)
        
        #设置文件日志
        
        fh = logging.FileHandler(path,mode=test,encoding="utf-8")
        
        fh.setFormatter(fmt)
        
        fh.setLevel(Flevel)
        
        self.logger.addHandler(sh)
        
        self.logger.addHandler(fh)
    
    
    def debug(self,message):
        #初始化得时候self.logger = logging.getLogger(path)
        self.logger.debug(message)
    
    def info(self,message):
        
        self.logger.info(message)
    
    
    def warn(self,message):
    
        self.logger.warn(message)
    
    
    def error(self,message):
    
        self.logger.error(message)
    
    
    def critical(self,message):
    
        self.logger.critical(message)




# a=Logger()
# a.info("123")
# from Case_Method.Logging import *

# logcommonsonfig(level=logging.DEBUG,  # log level
#                     format='[%(asctime)s] %(levelname)s [%(funcName)s: %(filename)s, %(lineno)d] %(message)s',  # log格式
#                     datefmt='%Y-%m-%d %H:%M:%S',  # 日期格式
#                     filename='test.log',  # 日志输出文件
#                     filemode='a')  # 追加模式