簡體   English   中英

在 Python 上使用日志記錄或打印的最佳實踐

[英]Best practices to use logging or print on Python

我看到一些帖子聲稱使用日志記錄功能來顯示調試消息。 我知道日志記錄提供了各種消息級別,如infodebug ... 等。當消息對於用戶在運行時跟蹤進程很重要時,應該使用info級別。 就像日志中的info級別一樣, print用於相同的情況。 何時使用loggingprint以獲得最佳實踐? 謝謝!

logging.basicConfig(level = logging.INFO)
logger = logging.getLogger(__name__)
def process():
    #### "Create a connection" is a critical message for user to know what operation is processing now
    logger.info("Create a connection with ...")
    # or
    print("Create a connection with ...")

如果您正在處理自己的小項目,則可以使用print但在更大的項目環境中,您真的不想使用print語句,因為它很快就會變得混亂。 特別是如果您不知道消息在哪里打印到stdout logging模塊為您提供了很多優勢:

1) 有Streamformatters允許您Streamformatters輸出消息(例如時間戳和用戶名)

2) 多個Streamhandlers 大多數情況下,當出現問題時,您不僅想通過stdout向用戶打印一些內容,而且還想保留該數據以便稍后查看出錯的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM