1
我想在登錄到控制檯,但然後保留信息,同時記錄到文件Python記錄 - 使用過濾器除去信息
這裏刪除了一些信息是一個基本的例子:
import logging
import sys
class MyFilter(logging.Filter):
def filter(self, record):
record.msg = record.msg.replace("test", "")
return True
logger = logging.getLogger("mylogger")
logger.setLevel(logging.DEBUG)
console = logging.StreamHandler(sys.stdout)
console.setLevel("INFO")
logger.addHandler(console)
logfile = logging.FileHandler("log.txt", 'w')
logfile.setLevel("ERROR")
logger.addHandler(logfile)
filt = MyFilter()
console.addFilter(filt)
logger.info("test one")
logger.error("test two")
我倒是希望看到控制檯
one
two
,然後在日誌文件中
test two
,但它實際上只是
two
我假設編輯的LogRecord是什麼導致這一點。 有沒有一種方法可以實現我想要的或者我試圖以這種方式不可能實現的目標?
謝謝,這是它 – Seamus 2013-05-08 22:07:49