粘贴日志并选好格式
粘贴一段 Nginx 或 Apache 访问日志原文。拿不准该选哪个预置格式,先载入内置示例——里面故意混了一行不匹配的坏行,方便你先看看坏行是怎么被报出来的。
- Nginx combined 和 Apache combined 结构完全一样(IP、时间、请求行、状态码、字节数、referer、UA),选哪个都行,解析结果相同
- 选「自定义」直接接受 log_format / LogFormat 原文,不需要自己写正则
日志 / 可观测性工具
粘贴 Nginx 或 Apache 访问日志,选一个格式模板(或直接粘贴自己的 log_format / LogFormat 指令),点击「解析日志」得到一张可过滤的表格。
解析全部在浏览器本地完成,日志文本不会被上传。
解析日志后,这里会出现表格。
临时写一条 grep 能捞出几行匹配的日志,但当你需要知道是哪些 IP 在密集请求 /api/login、这批日志里有多少条 5xx,或者有几行根本不符合你服务器的日志格式时,正则写了又推翻的成本就上来了。无论叫它访问日志分析工具还是日志解析器,先把每一行拆成结构化字段,再去过滤和统计,比每次现写正则要快。
适合的场景是:手头有一段从服务器、工单附件或负载均衡器里粘出来的 Nginx / Apache 访问日志,需要看到 IP、状态码、路径、字节数、referer 这些真实字段,而不是一整段文本。所有解析都在当前浏览器标签页里完成,粘贴的内容不会被上传到任何地方。
围绕真实的服务器日志格式设计,不是几个写死的占位符。
把 nginx.conf 里的 log_format 指令,或 httpd.conf 里的 LogFormat 那一行原样复制过来,包括 $upstream_response_time、%{X-Forwarded-For}i 这类自定义字段,都会被这个访问日志分析工具直接转成表格列——不用学新语法,也不用在几个预置模板里猜哪个最接近。
三步完成解析、过滤和导出。
粘贴一段 Nginx 或 Apache 访问日志原文。拿不准该选哪个预置格式,先载入内置示例——里面故意混了一行不匹配的坏行,方便你先看看坏行是怎么被报出来的。
解析不会随打字自动触发——访问日志动辄成百上千行,每敲一个字就重新逐行匹配一遍并不划算。点一次「解析日志」,或用快捷键,表格就会填充出来。
状态码和路径过滤是在已经解析出的行上即时生效的,不需要再点一次「解析日志」。统计面板(Top IP、Top 路径、状态码分布)会跟着过滤条件一起更新。把当前显示的行按 CSV、JSON 或纯文本复制或下载。
为排查真实访问日志设计的字段提取、过滤和聚合统计。
Nginx combined、Nginx common、Apache Common Log Format、Apache combined 覆盖了绝大多数服务器的默认配置,不用额外设置就能直接用。
nginx.conf 里的任意 $变量,或 httpd.conf 里的任意 % 指令——包括 %{Referer}i 这类具名请求/响应头——都会变成一列,边界按指令原文里字面量的位置来判定。
把表格缩小到某个状态码区间(2xx–5xx)或精确状态码,以及路径包含某个子串或匹配某个正则的请求,不需要重新解析日志。
统计面板会在当前过滤条件下,按状态码计数,并列出请求最多的客户端 IP 和路径——这正是排查流量异常或攻击来源时最先要看的东西。
每一行不符合所选格式模板的日志都会带着从 1 开始的行号和原始文本被列出来,几行异常日志不会悄悄从统计里消失。
导出的正是当前过滤条件下显示的那些行,列和表格里一致,可以直接丢进表格软件或别的工具继续处理。
坏行、自定义格式和目前明确不做的部分,具体行为都在这里。
在线解析 Nginx 或 Apache 访问日志之前,大家最常问的问题。
有。把 Nginx 或 Apache 访问日志粘贴到上面,点击「解析日志」,表格立刻就会出现——不需要注册、安装或上传文件。它以 JavaScript 的形式跑在你当前的浏览器标签页里。
粘贴的内容不会被发送到任何地方。解析、过滤、导出全部通过 JavaScript 在你的浏览器本地完成,没有服务端上传、存储或记录——这一点很重要,因为访问日志里通常带着真实的客户端 IP 和请求路径。
Apache 的 Common Log Format(%h %l %u %t \"%r\" %>s %b)没有 referer 和 user-agent 字段。combined 格式在末尾用引号加上了这两项。Nginx 默认自带的 combined 命名格式,字段形状和 Apache 的 combined 格式完全一致。
把格式模板选成「自定义」,把 nginx.conf 里 log_format 那一行原样粘贴进去,比如 $remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"。每一个 $变量都会按出现顺序变成一列。
一行日志如果从头到尾对不上选中的格式模板,就会被标成坏行——常见原因是访问日志里混进了一行错误日志、日志被截断,或者选错了适合你服务器的预置格式。坏行列表会给出行号和原始文本,方便你确认格式或者检查数据源。
内置的过滤条件覆盖状态码和路径,这是大多数人最常用来缩小范围的两个字段。IP 地址和 User-Agent 仍然会作为普通表格列出现,也会进入 Top IP 统计;导出成 CSV 或 JSON 之后,你可以再对它们排序或搜索。
单次粘贴上限是 30 万字符、2 万行,足够放下一段很长的工单附件或几千行的日志尾部。如果是完整的服务器日志文件,先拆成更小的几段,再分别解析。
遇到这个工具解析不对的真实日志行?
粘贴一段 Nginx 或 Apache 访问日志,几秒内就能得到一张可过滤、可导出的表格——不用上传,也不用注册。
收藏这个免费的访问日志分析工具,下次要排查是谁在高频请求某个接口,或者一批请求为什么失败时直接拿来用。
全部解析都在浏览器本地完成。