python --- 日志模块 logging

1、日志的使用

import logging

class CommonLog(object):

    def _common_log(self,level,message):
        # 设定收集器,再设定收集的级别
        my_logger = logging.getLogger('lisa')
        my_logger.setLevel(level)

        # 设定转换器
        formatter = logging.Formatter('%(asctime)s-%(levelname)s-%(filename)s-%(name)s-日志信息:%(message)s')

        # 设定控制台输出渠道,并规定输出控制台的级别,并规定输出格式
        c_handler = logging.StreamHandler()
        c_handler.setLevel(level)
        c_handler.setFormatter(formatter)

        # 设定文件输出渠道,并规定输出文件的级别,并规定输出格式
        f_handler = logging.FileHandler('log.txt', encoding='utf-8')
        f_handler.setLevel(level)
        f_handler.setFormatter(formatter)

        # 把收集器和输出渠道关联起来
        my_logger.addHandler(c_handler)
        my_logger.addHandler(f_handler)

        # 收集日志
        if level == 'DEBUG':
            my_logger.debug(message)
        elif level == 'INFO':
            my_logger.info(message)
        elif level == 'WARNING':
            my_logger.warning(message)
        elif level == 'ERROR':
            my_logger.error(message)
        elif level == 'CRITIAL':
            my_logger.critical(message)

        # 关闭渠道
        my_logger.removeHandler(c_handler)
        my_logger.removeHandler(f_handler)

    def debug_method(self,message):
        self._common_log('DEBUG',message)

    def info_method(self,message):
        self._common_log('INFO',message)

    def warning_method(self, message):
        self._common_log('WARNING', message)

    def error_method(self, message):
        self._common_log('ERROR', message)

    def critical_method(self, message):
        self._common_log('CRITIAL', message)

if __name__ == '__main__':
    message = '你从晨雾中走来,放下了所有的傲慢与偏见'
    CommonLog().debug_method(message)

控制台输出结果:
2019-12-23 13:33:37,631-DEBUG-log_file.py-lisa-日志信息:你从晨雾中走来,放下了所有的傲慢与偏见

猜你喜欢

转载自www.cnblogs.com/hzgq/p/12083276.html