python日誌logging記錄,過期自動刪除

2021-10-09 12:41:47 字數 2383 閱讀 8115

python使用logging庫可以簡單明瞭的格式化輸出log到終端或檔案。

when 是乙個字串的定義如下:

「s」: seconds

「m」: minutes

「h」: hours

「d」: days

「w」: week day (0=monday)

「midnight」: roll over at midnight

使用下面方法把log輸出到終端:

import logging

log_format =

"[%(asctime)s][%(levelname)s]: %(message)s"

level = logging.info

logging.basicconfig(level=level,

format

=log_format)

log.info(

'test'

)log.warning(

'test'

)log.error(

'test'

)

通過timedrotatingfilehandler可以把輸出重定向到檔案,它會對比檔案最後修改時間和當前時間,如果比設定的時候大,則會把當前檔案加時間字尾備份,然後,新建乙個進行log。

import logging

from logging.handlers import timedrotatingfilehandler

import time

deflog_config()

: log_format =

"[%(asctime)s][%(levelname)s]: %(message)s"

fname=time.strftime(

"news_%y%m%d.log"

, time.localtime())

level = logging.info

logging.basicconfig(level=level,

format

=log_format)

#建立timedrotatingfilehandler物件,每天生成乙個檔案

log_file_handler = timedrotatingfilehandler(filename=

'test.log'

, when=

"d", interval=

1, backupcount=3)

# 設定日誌列印格式

formatter = logging.formatter(log_format)

log_file_handler.setformatter(formatter)

logging.getlogger('')

.addhandler(log_file_handler)

defmain()

:try:10

/0except

: logging.error(

'divider error.'

, exc_info=

true

)

如果對log檔案的大小有要求,則可以使用rotatingfilehander對log的檔案大小進行限制。

import logging

from logging.handlers import rotatingfilehandler

deflog_config()

: log_format =

"[%(asctime)s][%(levelname)s]: %(message)s"

fname=time.strftime(

"news_%y%m%d.log"

, time.localtime())

level = logging.info

logging.basicconfig(level=level,

format

=log_format)

#建立rotatingfilehandler物件,滿1mb為乙個檔案,共備份3個檔案

log_file_handler = rotatingfilehandler(filename=

'test.log'

, maxbytes=

1024

*1024

, backupcount=3)

# 設定日誌列印格式

formatter = logging.formatter(log_format)

log_file_handler.setformatter(formatter)

logging.getlogger('')

.addhandler(log_file_handler)

Python 日誌 logging 模組

對於小型專案而言,大家習慣於使用print語句列印資訊到終端進行除錯,然而,當專案 量擴大到了一定級別後,列印除錯的方法就顯得很凌亂了,更重要的是,當debug完成後,甄別並刪除 或注釋 除錯用的列印語句變得非常令人頭痛。而使用日誌模組則能很好地解決這些問題。日誌 logging 是在程式執行過程中...

python 日誌使用logging

將日誌列印入檔案,同時列印在控制台 logfile.py coding utf 8 import sys import logging from logging.handlers import timedrotatingfilehandler def getlogconfig name defaul...

Python日誌模組logging

logging分為4個模組 loggers,handlers,filters,and formatters.logger logger.setlevel 設定日誌級別 logger.addhandler 和logger.removehandler 增加和刪除日誌處理器 logger.addfilte...