日誌記錄模組logging

Mr.chris發表於2018-11-22

在python中,日誌記錄顯示有兩種方式,一種是儲存在檔案和列印螢幕上,一種儲存在檔案中。

第一種,直接儲存在檔案中。

 1 import logging  #日誌模組,方便記錄日誌
 2 
 3 # 下面是配置日誌記錄格式
 4 logging.basicConfig(level=logging.DEBUG,   #(DEBUG這個可以換成其他級別,如WARNING,ERROR等)
 5                     format=` %(asctime)s >> %(filename)s >> line: %(lineno)d >> %(levelname)s >> %(message)s `,
 6                     datefmt=`%Y_%m_%d %H:%M:%S`,
 7                     filename=`test.log`,
 8                     filemode=`a`
 9                     )   #這個w執行時,會把原有的內容清空,記錄記錄肯定是要保留所有記錄,所以把w換成a,就可以增加內容
10 
11 # 如下為錯誤級別,依次級別增高
12 logging.debug(`debug message11,1223`)
13 logging.info(`info message22`)
14 logging.warning(`warning message22`)
15 logging.error(`error message33`)
16 logging.critical(`critical message44`)

第二種,同時儲存在檔案和列印輸出

 1 import logging
 2 
 3 
 4 logger = logging.getLogger()
 5 
 6 #建立一個handler,用於寫入日誌檔案
 7 fh = logging.FileHandler(`test.log`,`a`)
 8 #再建立一個handler,用於輸出到螢幕
 9 ch = logging.StreamHandler()
10 
11 
12 formt=logging.Formatter(`%(asctime)s_%(filename)s_%(levelname)s_%(message)s`)
13 
14 
15 
16 fh.setFormatter(formatter)
17 ch.setFormatter(formatter)
18 
19 
20 logger.addHandler(fh)
21 logger.addHandler(ch)
22 
23 
24 
25 
26 logger.setLevel(logging.DEBUG)
27 
28 
29 
30 logger.debug(`debug message11`)
31 logger.info(`info message22`)
32 logger.warning(`warning message33`)
33 logger.error(`error message44`)
34 logger.critical(`critical message55`)

 

相關文章