這篇文章主要為大家展示了“python中logging日志打印的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python中logging日志打印的示例分析”這篇文章吧。
一、 基礎使用
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 高級使用
import logging
#創建logger記錄器
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)
#創建一個控制臺處理器,并將日志級別設置為debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
#創建formatter格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#將formatter 添加到ch處理器
ch.setFormatter(formatter)
#將ch添加到logger
logger.addHandler(ch)
#然后就可以開始使用了
# logger.debug('debug message')
#logger.info('info message')
# logger.warning('warn message')
# logger.error('error message')
# logger.critical('critical message')
def Logss():
#要打印的信息
a = "3"
logger.info(a)
Logss()
以上是“python中logging日志打印的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。