logging 日誌配用

  第一步,建立一個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

相關文章
相關標籤/搜索