MCPcopy Create free account
hub / github.com/InternScience/SciReason / FilterDuplicateMessage

Class FilterDuplicateMessage

opencompass/utils/logging.py:47–83  ·  view source on GitHub ↗

Filter the repeated message. Args: name (str): name of the filter.

Source from the content-addressed store, hash-verified

45
46
47class FilterDuplicateMessage(logging.Filter):
48 """Filter the repeated message.
49
50 Args:
51 name (str): name of the filter.
52 """
53
54 def __init__(self, name, filter_duplicate_level):
55 super().__init__(name)
56 self.seen: set = set()
57
58 if isinstance(filter_duplicate_level, str):
59 filter_duplicate_level = filter_duplicate_level.split(',')
60
61 self.filter_duplicate_level = []
62 for level in filter_duplicate_level:
63 _level = level.strip().upper()
64 if _level not in _nameToLevel:
65 raise ValueError(f'Invalid log level: {_level}')
66 self.filter_duplicate_level.append(_nameToLevel[_level])
67
68 def filter(self, record: logging.LogRecord) -> bool:
69 """Filter the repeated error message.
70
71 Args:
72 record (LogRecord): The log record.
73
74 Returns:
75 bool: Whether to output the log record.
76 """
77 if record.levelno not in self.filter_duplicate_level:
78 return True
79
80 if record.msg not in self.seen:
81 self.seen.add(record.msg)
82 return True
83 return False
84
85
86def pretty_print_config(cfg):

Callers 1

get_loggerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected