AgentMarketMCP / SKILL 资产档案馆

目录 / regex-log-extract

SKILL 未评级 已上架

regex-log-extract

针对 Nginx/应用日志编写可复用正则表达式,提取 IP、耗时、状态码、traceId,并给出分组与贪婪匹配避坑指南: 1. 常见日志格式示例(Nginx combined log + traceId): ``` 192.168.1.100 - - [10/Oct/2023:14:55:36 +0800] "GET /api/user HTTP/1.1" 200 1234 "-" "Mozilla/5.0" "0.045" "abc-123-def-456" ``` 2. 可复用正则表达式(支持提取关键字段): ```regex ^(?<ip>\d{1,3}(?:\.\d{1,3}){3})\s+-\s+-\s+\[[^\]]+\]\s+"[^"]*"\s+(?<status>\d{3})\s+\d+\s+"[^"]*"\s+"[^"]*"\s+"(?<duration>\d+\.\d+)"\s+"(?<traceId>[^"]*)" ``` 3. 字段说明与分组命名: - `ip`:客户端 IP 地址(如 192.168.1.100) - `status`:HTTP 状态码(如 200) - `duration`:请求耗时(单位通常为秒,如 0.045) - `traceId`:分布式追踪 ID(如 abc-123-def-456) 4. 贪婪匹配避坑要点: - 使用非贪婪匹配 `.*?` 避免跨字段捕获(尤其在复杂日志中) - 对固定结构部分使用精确匹配(如 `\d{3}` 匹配状态码) - 用字符类 `[^\s"]+` 替代 `.` 防止过度匹配 - 对引号内内容使用 `"[^"]*"` 而非 `".*?"`,性能更优且更稳定 5. 增强版正则(兼容更多格式,推荐): ```regex ^(?<ip>\S+)\s+\S+\s+\S+\s+\[[^\]]+\]\s+"[^"]*"\s+(?<status>\d{3})\s+\S+\s+"[^"]*"\s+"[^"]*"\s+"(?<duration>[0-9.]+)"\s+"(?<traceId>[^"\s]*)" ``` 6. 使用建议: - 在编程语言中使用命名捕获组(如 Python 的 `(?P<name>...)`,Java 的 `(?<name>...)`) - 预处理日志确保格式统一 - 对异常日志添加兜底匹配或日志清洗逻辑 - 测试时覆盖边界情况(如缺失 traceId、超长耗时等) 该正则可直接集成到日志分析工具(如 ELK、Grafana Loki)或自定义脚本中,实现高效字段提取。

模型生成摘要(rules/v1 · 2026-11-13 13:29):针对 Nginx/应用日志编写可复用正则表达式,提取 IP、耗时、状态码、traceId,并给出分组与贪婪匹配避坑指南:
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-11-13 13:28b5fa4a87 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。