logging日誌過濾和日誌檔案自動擷取

2022-06-30 23:51:14 字數 1435 閱讀 3562

1.日誌過濾

import logging

class ignorefilter(logging.filter):

def filter(self,record):

return "girl" not in record.getmessage() #如果girl不在record裡,則返回true

# 1.生成logger物件

logger = logging.getlogger("130")

logger.setlevel(logging.debug) #不設定級別,預設最低級別是warning。

logger.addfilter(ignorefilter())

# 2.生成handler物件

# 把handler物件繫結到logger

ch = logging.streamhandler()

# ch.setlevel(logging.debug) #對螢幕和檔案分別設定級別

fh = logging.filehandler("130.log")

# fh.setlevel(logging.error)

logger.addhandler(ch)

logger.addhandler(fh)

# 3.生成formatter物件

# 把formatter物件繫結到handler

file_formatter = logging.formatter("%(asctime)s %(name)s %(levelname)s %(message)s")

console_formatter = logging.formatter("%(asctime)s %(name)s %(levelname)s %(lineno)s %(message)s")

ch.setformatter(console_formatter)

fh.setformatter(file_formatter)

logger.debug("miss eat")

logger.warning("hello girl")

2.日誌截斷

2.1 根據日誌大小截斷

maxbytes 最大位元組  backupcount 檔案最多存在的個數。

from loggign import handlers

fh = handlers.rotatingfilehandler("130.log",maxbytes=10,backupcount = 5)

2.2 按照時間間隔來截斷日誌,最多生成五個

when 時間單位,interval 時間間隔。

fh = handlers.timedrotatingfilehandler("130.log",when = "s",interval = 5,backupcount = 5)

logging日誌模組

日誌級別日誌輸出 將日誌輸出到控制台 log1.py 如下 import logging logging.basicconfig level logging.warning,format asctime s filename s line lineno d levelname s message s...

logging 日誌模組

什麼是日誌 無處不在的 所有的程式必須記錄日誌 給使用者看的 購物軟體 銀行卡給內部人員看的 給技術人員看的 計算器500個表示式 一些計算過程,或者是一些操作過程需要記錄下來 程式出現bug的時候,來幫助我們記錄過程 排除錯誤 給非技術人員看的 學校,公司的軟體 誰在什麼時候做了什麼事兒,刪除操作...

logging日誌模組

一 使用logging日誌 主要下面幾個步驟 1.建立乙個logger 可以理解為 記錄xx日誌的人 2.建立乙個handler 可以理解為 記錄的規則,比如啥等級的日誌會記錄下來 3.定義乙個fomatter 可以理解為 記錄的格式 比如一些需要的字段資訊 等等 4.將建立logger 跟hand...