Python使用logging模塊來輸出日志

admin Python評論338字數(shù) 1646閱讀模式

你可以使用Python的logging模塊來輸出日志并寫入到txt文本中。

首先,你需要導入logging模塊:文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

import logging

然后,你可以配置logging的設置,如設置日志級別、日志輸出格式等:文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s - %(message)s',
                    filename='output.log',
                    filemode='w')

在上述代碼中,`level`參數(shù)表示設置日志級別,可以使用`DEBUG`、`INFO`、`WARNING`、`ERROR`、`CRITICAL`等級別,這里設置為`DEBUG`表示輸出所有級別的日志。`format`參數(shù)表示日志輸出的格式,`%(asctime)s`表示輸出時間,`%(levelname)s`表示日志級別,`%(message)s`表示日志內(nèi)容。`filename`參數(shù)表示日志文件的名稱,這里設置為`output.log`。`filemode`參數(shù)表示打開文件的模式,這里設置為`w`表示寫入模式。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

接下來,你就可以使用logging來輸出日志并寫入到txt文本中了。例如:文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

logging.debug('這是一條調(diào)試信息')
logging.info('這是一條普通信息')
logging.warning('這是一條警告信息')
logging.error('這是一條錯誤信息')
logging.critical('這是一條嚴重錯誤信息')

以上代碼將會把日志信息寫入到`output.log`文件中。每條日志信息占據(jù)一行,并根據(jù)設置的格式進行輸出。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

如何限制日志數(shù)量文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

在 Python 中,使用標準庫中的 logging 模塊進行日志記錄。要限制日志數(shù)量,可以結合使用 RotatingFileHandler 和設置最大日志文件數(shù)來實現(xiàn)。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

下面是一個示例代碼,展示了如何使用 logging 模塊限制日志文件的數(shù)量:文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

import logging
import logging.handlers

# 創(chuàng)建日志記錄器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

# 創(chuàng)建 RotatingFileHandler,并設置最大日志文件數(shù)量為3
handler = logging.handlers.RotatingFileHandler('my_logs.log', maxBytes=1024, backupCount=3)
logger.addHandler(handler)

# 設置日志記錄格式
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# 添加日志記錄
logger.debug('Debug message')
logger.info('Info message')
logger.warning('Warning message')
logger.error('Error message')

在上述代碼中,RotatingFileHandler 用于將日志寫入到文件中,并提供了控制日志文件數(shù)量的功能。通過 maxBytes 參數(shù),可以設置單個日志文件的最大尺寸(單位為字節(jié)),當達到這個大小時,會自動觸發(fā)日志滾動,將舊的日志文件備份并創(chuàng)建新的日志文件。通過 backupCount 參數(shù),可以設置保留的日志文件數(shù)量。當超過這個數(shù)量時,最早的日志文件將被刪除。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

在上述示例中,創(chuàng)建了一個最大尺寸為 1024 字節(jié)(1KB),最多保留 3 個日志文件的 RotatingFileHandler。你可以根據(jù)實際需求來調(diào)整這些設置。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

使用上述代碼,每次運行都會將日志信息記錄到 my_logs.log 文件中,并限制日志文件數(shù)量不超過 3 個。當達到數(shù)量限制時,最早的日志文件將被刪除。文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

 文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html

下載信息 限制日志數(shù)量示例
最近更新2023-10-16
下載地址
文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/11120.html
版權聲明:文章圖片資源來源于網(wǎng)絡,如有侵權,請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年10月16日 17:58:51
  • 轉(zhuǎn)載請務必保留本文鏈接:http://www.strong-digital.cn/11120.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: