Python使用logging模塊來(lái)輸出日志

admin Python評(píng)論331字?jǐn)?shù) 1646閱讀模式

你可以使用Python的logging模塊來(lái)輸出日志并寫(xiě)入到txt文本中。

首先,你需要導(dǎo)入logging模塊:

import logging

然后,你可以配置logging的設(shè)置,如設(shè)置日志級(jí)別、日志輸出格式等:

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

在上述代碼中,`level`參數(shù)表示設(shè)置日志級(jí)別,可以使用`DEBUG`、`INFO`、`WARNING`、`ERROR`、`CRITICAL`等級(jí)別,這里設(shè)置為`DEBUG`表示輸出所有級(jí)別的日志。`format`參數(shù)表示日志輸出的格式,`%(asctime)s`表示輸出時(shí)間,`%(levelname)s`表示日志級(jí)別,`%(message)s`表示日志內(nèi)容。`filename`參數(shù)表示日志文件的名稱,這里設(shè)置為`output.log`。`filemode`參數(shù)表示打開(kāi)文件的模式,這里設(shè)置為`w`表示寫(xiě)入模式。

接下來(lái),你就可以使用logging來(lái)輸出日志并寫(xiě)入到txt文本中了。例如:

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

以上代碼將會(huì)把日志信息寫(xiě)入到`output.log`文件中。每條日志信息占據(jù)一行,并根據(jù)設(shè)置的格式進(jìn)行輸出。

如何限制日志數(shù)量

在 Python 中,使用標(biāo)準(zhǔn)庫(kù)中的 logging 模塊進(jìn)行日志記錄。要限制日志數(shù)量,可以結(jié)合使用 RotatingFileHandler 和設(shè)置最大日志文件數(shù)來(lái)實(shí)現(xiàn)。

下面是一個(gè)示例代碼,展示了如何使用 logging 模塊限制日志文件的數(shù)量:

import logging
import logging.handlers

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

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

# 設(shè)置日志記錄格式
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 用于將日志寫(xiě)入到文件中,并提供了控制日志文件數(shù)量的功能。通過(guò) maxBytes 參數(shù),可以設(shè)置單個(gè)日志文件的最大尺寸(單位為字節(jié)),當(dāng)達(dá)到這個(gè)大小時(shí),會(huì)自動(dòng)觸發(fā)日志滾動(dòng),將舊的日志文件備份并創(chuàng)建新的日志文件。通過(guò) backupCount 參數(shù),可以設(shè)置保留的日志文件數(shù)量。當(dāng)超過(guò)這個(gè)數(shù)量時(shí),最早的日志文件將被刪除。

在上述示例中,創(chuàng)建了一個(gè)最大尺寸為 1024 字節(jié)(1KB),最多保留 3 個(gè)日志文件的 RotatingFileHandler。你可以根據(jù)實(shí)際需求來(lái)調(diào)整這些設(shè)置。

使用上述代碼,每次運(yùn)行都會(huì)將日志信息記錄到 my_logs.log 文件中,并限制日志文件數(shù)量不超過(guò) 3 個(gè)。當(dāng)達(dá)到數(shù)量限制時(shí),最早的日志文件將被刪除。

 

下載信息 限制日志數(shù)量示例
最近更新2023-10-16
下載地址

版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年10月16日 17:58:51
  • 轉(zhuǎn)載請(qǐng)務(wù)必保留本文鏈接:http://yudch.cn/11120.html
匿名

發(fā)表評(píng)論

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

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