python 項目實戰之logging日志打印


官網介紹:https://docs.python.org/2/library/logging.html

一、 基礎使用

1.1 logging使用場景

日志是什么?這個不用多解釋。百分之九十的程序都需要提供日志功能。Python內置的logging模塊,為我們提供了現成的高效好用的日志解決方案。但是,不是所有的場景都需要使用logging模塊,下面是Python官方推薦的使用方法:

任務場景 最佳工具
普通情況下,在控制台顯示輸出 print()
報告正常程序操作過程中發生的事件 logging.info()(或者更詳細的logging.debug())
發出有關特定事件的警告 warnings.warn()或者logging.warning()
報告錯誤 彈出異常
在不引發異常的情況下報告錯誤 logging.error()logging.exception()或者logging.critical()

logging模塊定義了下表所示的日志級別,按事件嚴重程度由低到高排列(注意是全部大寫!因為它們是常量。):

級別 級別數值 使用時機
DEBUG 10 詳細信息,常用於調試。
INFO 20 程序正常運行過程中產生的一些信息。
WARNING 30 警告用戶,雖然程序還在正常工作,但有可能發生錯誤。
ERROR 40 由於更嚴重的問題,程序已不能執行一些功能了。
CRITICAL 50 嚴重錯誤,程序已不能繼續運行。

默認級別是WARNING,表示只有WARING和比WARNING更嚴重的事件才會被記錄到日志內,低級別的信息會被忽略。因此,默認情況下,DEBUG和INFO會被忽略,WARING、ERROR和CRITICAL會被記錄。

有多種方法用來處理被跟蹤的事件。最簡單的方法就是把它們打印到終端控制台上。或者將它們寫入一個磁盤文件內。

1.2 簡單范例

在什么都不配置和設定的情況下,logging會簡單地將日志打印在顯示器上,如下例所示:

import logging logging.warning('Watch out!') # 消息會被打印到控制台上 logging.info('I told you so') # 這行不會被打印,因為級別低於默認級別 

如果,將上面的代碼放在一個腳本里並運行,結果是:

WARNING:root:Watch out!

1.3 高級使用
 1 import logging
 2 
 3 #創建logger記錄器
 4 logging.basicConfig(filename='example.log',level=logging.DEBUG)
 5 logger = logging.getLogger('simple_example')
 6 logger.setLevel(logging.DEBUG)
 7 
 8 #創建一個控制台處理器,並將日志級別設置為debug
 9 
10 ch = logging.StreamHandler()
11 
12 ch.setLevel(logging.DEBUG)
13 
14 #創建formatter格式化器
15 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
16 
17 #將formatter 添加到ch處理器
18 ch.setFormatter(formatter)
19 
20 #將ch添加到logger
21 logger.addHandler(ch)
22 
23 #然后就可以開始使用了
24 # logger.debug('debug message')
25 #logger.info('info message')
26 # logger.warning('warn message')
27 # logger.error('error message')
28 # logger.critical('critical message')
29 
30 def Logss():
31     #要打印的信息
32     a = "3"
33     logger.info(a)
34 
35 Logss()

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM