MongoDB Log解析与使用指南
import re
def parse_mongodb_log(log_line):
"""
解析MongoDB日志行并提取关键信息。
:param log_line: 单行MongoDB日志。
:return: 包含关键信息的字典。
"""
# 正则表达式模板,根据实际日志格式进行调整
pattern = r'^(?P<date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\.\d{3}\s+
<div class="katex-block">\[(?P<level>\w+)\]</div>
\\s+(?P<message>.+)$'
match = re.match(pattern, log_line)
if match:
return match.groupdict()
return None
# 示例使用
log_line = '2023-03-15 12:00:00.123 [INFO] Memory footprint: 500MB'
parsed_log = parse_mongodb_log(log_line)
if parsed_log:
print(f"日期: {parsed_log['date']}")
print(f"级别: {parsed_log['level']}")
print(f"信息: {parsed_log['message']}")
else:
print("日志解析失败")
这段代码定义了一个函数parse_mongodb_log
,它接受一个MongoDB日志行作为输入,使用正则表达式解析日期、级别和信息,并以字典形式返回。如果日志行格式与正则表达式匹配,则返回包含关键信息的字典;否则返回None。代码提供了一个使用示例,展示了如何调用这个函数并处理解析结果。
评论已关闭