Python日志打印如何过滤敏感信息

   2024-10-06 7150
核心提示:在Python中,可以通过使用logging模块来实现日志的打印和过滤。如果想要过滤敏感信息,可以通过设置过滤器来实现。下面是一个示

在Python中,可以通过使用logging模块来实现日志的打印和过滤。如果想要过滤敏感信息,可以通过设置过滤器来实现。

下面是一个示例代码,演示如何在日志中过滤敏感信息:

import logging# 创建loggerlogger = 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中,并输出两条日志信息,其中第二条包含了密码信息。

通过设置敏感信息过滤器,我们可以确保敏感信息不会被记录到日志文件中。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号