压倒一切日志。格式化程序在Python中

2024-10-04 09:21:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个覆盖的格式化程序,它屏蔽了如下一些字符串:

class MaskFormatter(logging.Formatter):

    def __init__(self, fmt, mask):
        logging.Formatter.__init__(self, fmt, mask)
        self.mask = mask

    def format(self, record):
        result = logging.Formatter.format(self, record)
        if result is not None and result.find(self.mask) != -1:
            result = result.replace(self.mask, '*' * len(self.mask))
        return result    

我是这样用的:

^{pr2}$

但是在我的日志行中,我注意到日期时间现在也被屏蔽了!!虽然我要求它只遮住“abcde”,有人能帮忙吗?在

所有日志行都有前缀*****,而不是real datetime:

***** DEBUG mail

Tags: 字符串self程序formatinitformatterloggingdef
1条回答
网友
1楼 · 发布于 2024-10-04 09:21:48

查看记录格式化程序的文档,它说格式化程序接受两个可选参数。第一种是消息格式,第二种是日期时间格式。看起来您正在以日期时间格式发送掩码。尝试从日志。格式化程序.init调用。在

相关问题 更多 >