访问日志格式化工具
解析 Apache/Nginx 访问日志行(通用日志格式或组合日志格式),并将其整理成结构化的可筛选表格 — 从原始日志文本中提取 IP、时间戳、方法、路径、状态、字节数、来源和用户代理。
输入
选项
自动检测会先尝试组合日志格式,再回退到通用日志格式。
输出
| IP | 日期/时间 | 方法 | 路径 | 协议 | 状态 | 字节数 | 来源 | 用户代理 |
|---|---|---|---|---|---|---|---|---|
| No data yet | ||||||||
使用指南
这个工具是做什么的?
粘贴原始 Web 服务器访问日志行,这个工具会将它们整理成可读的结构化表格 — 每个请求占一行,并为 IP 地址、时间戳、HTTP 方法、路径、协议、状态码、响应大小、来源和用户代理 设置独立列。它同时支持通用日志格式(CLF) — ip - - [date] "request" status bytes — 和组合(扩展)日志格式 — CLF 加上带引号的来源和用户代理字段,这是 Apache 和 Nginx 默认写入的访问日志格式。
与两种格式都不匹配的行不会被静默丢弃:它们会作为"无法解析"计入表格上方的摘要行中,因此您始终知道粘贴的内容中有多少被真正理解了。
适合谁使用?
- 开发者和系统管理员,想浏览访问日志但不想在原始文本中费力搜索。
- 安全和运维支持团队,需要快速将日志转储筛选到某个状态类别(例如所有
4xx或5xx请求),以发现登录失败、损坏的链接或服务器错误。 - 任何人,需要将解析后的日志行快速导出为 CSV 用于电子表格。
如何使用
- 将日志行粘贴到文本框中,或将
.log/.txt文件拖放到上传区域 — 其内容会直接同步到文本框中。 - 选择日志格式:保持自动检测(先尝试组合日志格式,然后逐行回退到通用日志格式),或者如果您知道自己的格式并希望更严格地匹配,则固定为 CLF/组合日志格式。
- 使用状态筛选将表格缩小到某个状态类别 — 例如用
4xx来筛选客户端错误。 - 摘要行会显示成功解析了多少行、跳过了多少行。使用输出卡片上的按钮将表格复制或下载为 CSV。
常见问题
通用日志格式和组合日志格式有什么区别?
通用日志格式(CLF)有七个字段:IP、身份、用户、时间戳、请求行、状态码和响应大小。组合(扩展)日志格式是 CLF 加上另外两个带引号的字段 — 来源和用户代理 — 大多数 Apache 和 Nginx 安装默认写入的正是这种格式。
为什么有些行被跳过了?
当一行与所选格式的结构不匹配时就会被跳过 — 例如,缺少 [timestamp] 方括号的行、缺少带引号字段的行,或在中间被截断的行。请尝试切换日志格式以匹配日志的实际格式,或检查是否存在换行/复制粘贴造成的问题。
它能处理多行日志条目或 JSON 格式的日志吗?
不能 — 这个工具要求每行一个 CLF/组合格式的请求,即 Apache/Nginx 默认配置写入的纯文本格式。JSON 结构的日志(例如来自自定义日志格式)不会被解析。
我可以只导出筛选后的行吗?
可以。将状态筛选设置为所需的状态类别,然后使用表格的下载按钮 — 只会导出当前可见(已筛选)的行。
隐私
解析完全在您的浏览器中进行。您的日志行绝不会被上传或发送到服务器。
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/access-log-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rawLog": "192.168.1.10 - - [10/Oct/2024:13:55:36 -0700] \"G…",
"logFormat": "auto",
"statusFilter": "all"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `access-log-formatter` tool (Access Log Formatter) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.