基本上都要 import logging模組, 這是python built-in的module, 然後有各種設定如下:
第一種: 最簡潔的語法
使用 logging.basicConfig() 將多種參數設定一次完成! logging.basicConfig 必須在輸出訊息之前呼叫,而且只能呼叫一次。
將xxxxx輸出到 stdout標準輸出:
import loggingimport syslogging.basicConfig(stream=sys.stdout,level=logging.DEBUG,format='%(asctime)s %(name)s - %(levelname)-s: %(message)s')logging.debug('xxxxxxx') #可以透過 logging印出
將xxxxx輸出到 log file:
import loggingimport syslogging.basicConfig(filename='myLog.txt',level=logging.DEBUG,format='%(asctime)s %(name)s - %(levelname)-s: %(message)s')logging.debug('xxxxxxx') #可以透過 logging印出
第二種: 進階一點的設定語法
將xxxxx輸出到 stdout標準輸出:
import loggingimport sysroot = logging.getLogger() #透過 logging.getLogger() 來得到 root (Logger Object)root.setLevel(logging.DEBUG) #設定層級的訊息ch = logging.StreamHandler(sys.stdout) # 定義ch為handler且為 stdout標準輸出ch.setLevel(logging.DEBUG) #設定ch的層級的訊息# 設定ch的輸出格式formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter)# 將ch hander 加入到 root loggerroot.addHandler(ch) logging.debug('debug message! xxxxxxx') #可以透過 logging印出root.debug('root message! xxxxxxx') #可以透過 root印出 (Logger Object)
沒有留言:
張貼留言