python的logging模塊提供了標准的日志接口,可以通過它存儲各種格式的日志,日志級別等級:critical > error > warning > info > debug import logging # 初始化日志配置 logging.basicConfig( # 日志級別,logging.DEBUG,logging.ERROR level = logging.INFO, # 日志格式 # 時間、代碼所在文件名、代碼行號、日志級別名字、日志信息 format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', # 打印日志的時間 datefmt = '%a, %Y-%m-%d %H:%M:%S', # 日志文件存放的目錄(目錄必須存在)及日志文件名 filename = 'e:/BddDataDriveRreport.log', # 打開日志文件的方式 filemode = 'w' ) logging.debug('test debug') logging.info('test info') logging.warning('test warning') logging.error('test error') logging.critical('test critical') 文件輸出結果: Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:36] INFO test info Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:38] WARNING test warning Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:40] ERROR test error Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:41] CRITICAL test critical
2、一個簡單的程序可調用的 logger生成方法:
#參考其它文章 import logging,os rdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #獲取上級目錄的絕對路徑 log_dir = rdir + '/log/record.log' def get_logger(): fh = logging.FileHandler(log_dir,encoding='utf-8') #創建一個文件流並設置編碼utf8 logger = logging.getLogger() #獲得一個logger對象,默認是root logger.setLevel(logging.DEBUG) #設置最低等級debug fm = logging.Formatter("%(asctime)s --- %(message)s") #設置日志格式 logger.addHandler(fh) #把文件流添加進來,流向寫入到文件 fh.setFormatter(fm) #把文件流添加寫入格式 return logger