1. 程式人生 > >python日誌模組

python日誌模組

import logging
from common import project_path

class MyLog:
def my_log(self,level,msg):
    my_logger = logging.getLogger('python10')
    my_logger.setLevel('DEBUG')#設定log級別
    formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(funcName)s - %(module)s - %(lineno)d : %(message)s')
    ch = logging.StreamHandler()
    ch.setLevel('DEBUG')
    ch.setFormatter(formatter)

    fh=logging.FileHandler(project_path.log_path,encoding='utf-8')
    fh.setLevel('DEBUG')
    fh.setFormatter(formatter)

    my_logger.addHandler(ch)
    my_logger.addHandler(fh)

    if level.upper() == 'DEBUG':
        my_logger.debug(msg)
    elif level.upper() == "INFO":
        my_logger.info(msg)
    elif level.upper() == "ERROR":
        my_logger.error(msg)
    elif level.upper() == "WARNING":
        my_logger.warning(msg)
    elif level.upper() == 'CRITICAL':
        my_logger.critical(msg)

    my_logger.removeHandler(ch)
    my_logger.removeHandler(fh)

def debug(self,msg):
    self.my_log('DEBUG',msg)

def info(self,msg):
    self.my_log('INFO',msg)

def error(self,msg):
    self.my_log('ERROR',msg)

def warning(self,msg):
    self.my_log('WARNING',msg)

def critical(self,msg):
    self.my_log('CRITICAL',msg)