當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Logging和Print的區別用法及代碼示例


Python中,打印和記錄可用於顯示信息,但它們有不同的用途。在本文中,我們將通過一些示例以及 Python 中日誌記錄和打印之間的差異來了解什麽是 python 日誌記錄。

使用 Python 進行日誌記錄

Python 中的日誌記錄是一種向用戶顯示有用消息和警告的技術。 logging module 提供了一種靈活的方式來在各種輸出目的地(例如控製台、文件和網絡)記錄不同的消息。日誌記錄是生產代碼的最佳實踐。日誌記錄模塊提供日誌級別和過濾等函數。

以下是不同級別的日誌記錄

  1. Debug:它用於在調試程序時提供詳細信息。
  2. Info:當我們想要顯示一些一般信息時使用它。
  3. Warning:它用於顯示一些可能影響將來程序的警告。
  4. Error:它用於顯示程序在執行過程中出現的一些錯誤信息。
  5. Critical:它用於在程序發生嚴重問題而停止執行時顯示消息。

示例1:在控製台上打印日誌消息

在此示例中,我們使用日誌記錄將消息記錄到控製台。我們創建了一個記錄器對象,然後將消息作為警告傳遞。 basicConfig()方法用於配置日誌記錄級別,設置為Info。這將簡單地在控製台上打印帶有配置信息的日誌消息。

Python3


import logging 
  
# creating the logger object 
logger = logging.getLogger() 
  
# setting logger to a warning message 
logger.warning('This is a Warning message!') 
  
# configuring the logger to info log levek 
logging.basicConfig(level=logging.INFO) 
  
# setting the logger to a informative message 
logging.info("This is an Informative message.")

輸出:

This is a Warning message!
INFO:root:This is an Informative message.

示例 2:打印文件中的日誌消息

在此示例中,我們將了解如何根據需要修改消息。在這裏,我們添加了時間以及日誌級別和消息,並將其保存在名為“message.log”的文件中。

Python3


import logging 
  
# configuring the logger to display log message 
# along with log level and time  
logging.basicConfig(filename="message.log", 
                    format='%(asctime)s: %(levelname)s: %(message)s', 
                    level=logging.INFO) 
  
# setting logger to critical message 
logging.critical("This is a Critical Message!!!")

輸出:

Log message saved in the message.log file

日誌消息保存在 message.log 文件中

用Python打印

print statement 是 Python 中的內置函數,用於將指定的值打印到控製台。它主要用於調試,不建議在生產代碼中記錄信息。

例子:

print 語句將簡單地將值打印到控製台。

Python3


name = "Kumar"
age = 21
print("My name is", name, "and I'm", age, "years old.") 

輸出:

My name is Kumar and I'm 21 years old.

Python 中日誌記錄和打印的區別

Logging in Python

Print in Python

記錄Python程序執行過程中發生的事件和錯誤。 將信息顯示到控製台以進行調試。
主要用於生產環境。 主要用於調試。
一些函數包括:日誌級別、過濾、格式化等。 沒有什麽好的函數。
它提供了不同的日誌級別,例如調試、信息、錯誤、警告和嚴重。 它沒有任何級別,它隻是打印傳遞給它的任何內容。

例子:

導入日誌記錄;
日誌記錄.basicConfig(級別=日誌記錄.INFO);
日誌記錄.info(“Hello”)

輸出:

可以配置為記錄到不同的輸出目的地(例如控製台、文件、網絡)

例子:

打印(“Hello”)

輸出:

僅在控製台上打印



相關用法


注:本文由純淨天空篩選整理自subramanyasmgm大神的英文原創作品 Difference between Logging and Print in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。