如何使用logging.StreamHandler在Python中記錄到檔案和控制台?

Susan Sarandon
發布: 2024-10-18 19:00:29
原創
494 人瀏覽過

How to Log to Both File and Console in Python Using logging.StreamHandler?

在 Python 中記錄到檔案和控制台

Python 日誌記錄為訊息處理提供了強大的功能。預設情況下,訊息通常會寫入指定的日誌檔案。但是,您可能還想將這些訊息複製到控制台,以確保在程式執行期間​​立即可見。

要實現此目的,請利用 logging.StreamHandler 類,它允許您編寫日誌記錄輸出到 sys.stdout,標準輸出流。請依照下列步驟操作:

  1. 匯入日誌記錄模組:先將日誌記錄模組匯入到腳本中。
  2. 設定 StreamHandler:建立logging.StreamHandler的實例並指定輸出流目的地,例如控制台輸出的sys.stdout。您也可以設定處理程序的層級來過濾它處理的訊息。
  3. 設定格式化程式:定義一個logging.Formatter物件來格式化輸出訊息。您可以指定所需的格式字串來自訂訊息佈局。
  4. 將處理程序附加到根記錄器:將配置的 StreamHandler 新增至根記錄器以啟用將訊息記錄到日誌檔案和控制台。這涉及到設定其層級和添加處理程序。

以下是如何設定StreamHandler 的範例:

<code class="python">import logging
import sys

# Create a StreamHandler using sys.stdout
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Define a formatter and set it on the handler
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root = logging.getLogger()
root.addHandler(handler)</code>
登入後複製

透過實作這些步驟,您可以方便地輸出所有日誌訊息日誌檔案和控制台,提供應用程式日誌記錄活動的全面視圖。

以上是如何使用logging.StreamHandler在Python中記錄到檔案和控制台?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!