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-日志信息:你从晨雾中走来,放下了所有的傲慢与偏见