综合练习:日志提取

40.12 综合练习:日志提取

从模拟日志中提取时间、级别、IP、消息。

解析日志行

扩展:读 log.txt 多行,统计 ERROR 条数。

# ========================================
# 示例:从日志提取字段
# 说明:一条正则 + 命名分组
# ========================================
import re

log = '2026-05-30 10:00:01 ERROR 192.168.1.1 磁盘空间不足'
pat = re.compile(
    r'(?P<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) '
    r'(?P<level>\w+) (?P<ip>[\d.]+) (?P<msg>.+)'
)
m = pat.search(log)
if m:
    for k, v in m.groupdict().items():
        print(k, ':', v)