溫馨提示×

Python日志打印如何過濾敏感信息

小樊
176
2024-07-19 12:17:42
欄目: 編程語言

在Python中,可以通過使用logging模塊來實現日志的打印和過濾。如果想要過濾敏感信息,可以通過設置過濾器來實現。

下面是一個示例代碼,演示如何在日志中過濾敏感信息:

import logging

# 創建logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

# 創建一個文件處理器,將日志寫入文件
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.DEBUG)

# 創建一個敏感信息過濾器
class SensitiveFilter(logging.Filter):
    def filter(self, record):
        # 檢查日志中是否包含敏感信息,如果包含則返回False
        if 'password' in record.msg:
            return False
        return True

# 將敏感信息過濾器添加到文件處理器中
file_handler.addFilter(SensitiveFilter())

# 創建一個格式化器
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)

# 將文件處理器添加到logger中
logger.addHandler(file_handler)

# 輸出日志
logger.debug('This is a normal log message')
logger.debug('This is a log message with password: 123456')

在上面的示例中,我們首先創建了一個logger,并設置其日志級別為DEBUG。然后創建了一個文件處理器,并設置其日志級別為DEBUG。接著創建了一個敏感信息過濾器SensitiveFilter,用來過濾包含敏感信息的日志記錄。將敏感信息過濾器添加到文件處理器中。最后,將文件處理器添加到logger中,并輸出兩條日志信息,其中第二條包含了密碼信息。

通過設置敏感信息過濾器,我們可以確保敏感信息不會被記錄到日志文件中。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女