第一步,建立一個logger;函數
第二步,建立一個handler,用於寫入日誌文件;spa
第三步,再建立一個handler,用於輸出到控制檯;線程
第四步,定義handler的輸出格式;debug
第五步,將logger添加到handler裏面。這段代碼裏面提到了好多概念,包括:Logger,Handler,Formatter。日誌
#第一步 建立一個logger import logging logger = logging.getLogger() logger.setLevel(logging.INFO) #log等級開關 #第二步 建立一個handler 用來寫日誌文件 fh = logging.FileHandler("test.log",encoding="utf-8") fh.setLevel(logging.DEBUG) #輸出到file 的log等級開關 #第三步 再建立一個handler 用於輸出到控制檯 ch = logging.StreamHandler() ch.setLevel(logging.WARNING) #輸出到console的log等級開關 #第四步 定義handler的輸出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) #第五步 將logger添加到handler裏面 logger.addHandler(fh) logger.addHandler(ch) #日誌 logger.debug('logger debug message') # 計算或者工做的細節 logger.info('logger info message') # 記錄一些用戶的增刪改查的操做 logger.warning('logger warning message') # 警告操做 logger.error('logger error message') # 錯誤操做 logger.critical('logger critical message') # 批判的 直接致使程序出錯退出的
%(name)s:Logger的名字,並不是用戶名,詳細查看 %(levelno)s:數字形式的日誌級別 %(levelname)s:文本形式的日誌級別 %(pathname)s:調用日誌輸出函數的模塊的完整路徑名,可能沒有 %(filename)s:調用日誌輸出函數的模塊的文件名 %(module)s:調用日誌輸出函數的模塊名 %(funcName)s:調用日誌輸出函數的函數名 %(lineno)d:調用日誌輸出函數的語句所在的代碼行 %(created)f:當前時間,用UNIX標準的表示時間的浮 點數表示 %(relativeCreated)d:輸出日誌信息時的,自Logger建立以 來的毫秒數 %(asctime)s:字符串形式的當前時間。默認格式是 「2003-07-08 16:49:45,896」。逗號後面的是毫秒 %(thread)d:線程ID。可能沒有 %(threadName)s:線程名。可能沒有 %(process)d:進程ID。可能沒有 %(message)s:用戶輸出的消息
詳情網址 http://dwz.cn/yPC4tFWLcode