我创建了一个用于登录Python的包装器&希望忽略某些字符串。我相信您可以简单地执行if msg in FILTER
之类的操作来匹配字符串列表中的字符串。你知道吗
所以我尝试了这个
FILTER = ["Couldn't eval", "wrapWithType"]
class LegacyLogger(logging.Logger):
def legacydebug(self, msg, *args, **kwargs):
"""
Log messages.
@param msg: Information to log
@type msg: str
"""
if not any(msg in s for s in FILTER): # also tried 'if not msg in FILTER'
self._log(LEGACY_DEBUG_LVL, msg, '')
logging.Logger.legacydebug = legacydebug
但这不起作用,因为我的日志功能行,如“无法评估Y,因为名称“Y”未定义”,那么这是否查找字符串的完全匹配,而不是部分匹配?你知道吗
我想你想要的是
if not any(s in msg for s in FILTER):
。你知道吗你只要把它倒过来我想,试试:
if any([s in msg for s in FILTER]):
您试图将整个消息与筛选器中的字符串相匹配,但这不会提供任何匹配项。你知道吗
相关问题 更多 >
编程相关推荐