python logging模組程式碼示例:實現日誌輸出到控制檯, 並且寫入日誌檔案中
阿新 • • 發佈:2019-01-29
import logging class Logger(object): def __init__(self, log_file_name, log_level, logger_name): #建立一個logger self.__logger = logging.getLogger(logger_name) #指定日誌的最低輸出級別,預設為WARN級別 self.__logger.setLevel(log_level) #建立一個handler用於寫入日誌檔案 file_handler = logging.FileHandler(log_file_name) #建立一個handler用於輸出控制檯 console_handler = logging.StreamHandler() #定義handler的輸出格式 formatter = logging.Formatter('[%(asctime)s] - [logger name :%(name)s] - [%(filename)s file line:%(lineno)d] - %(levelname)s: %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # 給logger新增handler self.__logger.addHandler(file_handler) self.__logger.addHandler(console_handler) def get_log(self): return self.__logger if __name__ == '__main__': logger = Logger(log_file_name='log.txt', log_level=logging.DEBUG, logger_name="test").get_log() logger.debug('testing ... ') logger.info('testing ... ')