# Logfmt 与 JSON 结构化日志桥接

在 logfmt(key=value)与 JSON 之间双向转换,处理引号转义、数字/布尔类型转换和重复键。

> 标准页面: https://elysiatools.com/zh/tools/logfmt-to-json-structured-log-bridge

- **分类:** Format Conversion

- **关键词:** logfmt, json, 日志, 结构化, heroku, loki, vector, 可观测性, 转换, sre

## 概述

logfmt(以空格分隔的 key=value 键值对)是 syslog-ng、Heroku 日志接入、Vector、Grafana Loki 以及许多 Go 日志库的原生格式。本工具将其转换为结构化 JSON,便于导入 ELK/Datadog/Splunk,也支持反向转换。处理带嵌入空格和转义引号的引号值,将数字和布尔字符串强制转换为有类型的 JSON 值,并可选择重复键的处理方式(告警-后者覆盖、收集为数组、严格报错)。

## 输入项

- **输入** (textarea): level=info msg="server started" port=8080 ts="2026-07-25T10:00:00Z"
- **方向** (select)
- **转换数字** (checkbox)
- **转换布尔值** (checkbox)
- **丢弃空值** (checkbox)
- **重复键模式** (select)
- **JSON 缩进(空格)** (number)

## 适用场景

- 需要将 logfmt 日志转换为适合结构化处理的 JSON 时。
- 需要把 JSON 日志还原为 logfmt，供支持该格式的日志工具使用时。
- 需要统一数字、布尔值、空值或重复键的处理规则时。

## 工作原理

- 在“输入”框中粘贴 logfmt 或 JSON 文本。
- 选择转换方向：logfmt → JSON 或 JSON → logfmt。
- 根据需要开启数字、布尔值和空值选项，并选择重复键模式。
- 设置 JSON 缩进空格数后运行，工具输出转换后的文本结果。

## 使用案例

- 将 Heroku、Vector 或 Go 日志库生成的 logfmt 转为 JSON，便于后续结构化处理。
- 将 JSON 日志转换为 logfmt，适配使用 key=value 格式的日志接入流程。
- 在日志迁移或排查过程中检查重复键，并统一数字、布尔值和空值的表示。

## 常见问题

### 支持哪些转换方向？

支持 logfmt → JSON 和 JSON → logfmt 两个方向。

### 带空格的 logfmt 值可以转换吗？

可以。使用引号包裹的值，即使包含空格或转义引号，也会参与转换。

### 数字和布尔字符串会自动转换吗？

默认会转换。可分别关闭“转换数字”和“转换布尔值”选项。

### 重复键如何处理？

可选择告警并以后者覆盖、收集为数组，或直接报错。

### 可以丢弃空值吗？

可以。开启“丢弃空值”后，转换时会移除空值。

## 相关工具

- [JSON键提取器](https://elysiatools.com/zh/tools/json-key-extractor): 从JSON对象中提取所有键，支持多种输出格式。非常适合分析JSON结构、生成文档和理解复杂的嵌套对象。
- [ECharts 主题 Token 抽取器](https://elysiatools.com/zh/tools/echarts-theme-token-extractor): 从 ECharts 主题 JSON 抽取设计 token——颜色、数字、字号与字符串——并直接导出到你的设计系统。粘贴一个主题对象（即通过 echarts.init(dom, themeName) 注册的那种），工具遍历每个叶子节点，为每个颜色（可选地将命名色/rgb 规范化为 hex）、间距数字、字号与字符串打标，然后输出干净的 CSS 变量、Tailwind theme.extend 配置、Style Dictionary tokens.json 或 SCSS 变量。在 ECharts 可视化主题与 Figma/CSS/Tailwind 设计 token 之间架桥，无需逐个手抄。
- [图片调色板转设计令牌](https://elysiatools.com/zh/tools/image-to-design-tokens): 从图片中用 k-means 聚类提取主色，导出为 CSS 变量 / SCSS 变量 / Tailwind 配置 / JSON 设计令牌，并自动为每个颜色生成命名色阶
- [OpenAPI 转 Postman Collection](https://elysiatools.com/zh/tools/openapi-to-postman-collection): 把 OpenAPI 3.x 或 Swagger 2.0 规范（JSON/YAML）转成可直接导入的 Postman Collection v2.1.0，含文件夹、变量、认证与示例响应。
- [范围图生成器](https://elysiatools.com/zh/tools/range-chart-generator): 创建范围图来可视化最小值-最大值范围，支持中位数标记和异常值检测
- [BOM字符移除器](https://elysiatools.com/zh/tools/data-bom-remover): 从文本和文件内容中移除BOM（字节顺序标记）字符。非常适合清理有编码问题的文本文件、修复CSV导入和为处理准备数据。 功能特点： - 检测并移除UTF-8 BOM (EF BB BF) - 检测并移除UTF-16 BOM (FE FF 或 FF FE) - 检测并移除UTF-32 BOM (00 00 FE FF 或 FF FE 00 00) - 支持多种输入格式 - 可视化BOM字符显示 - 详细检测报告 - 支持批量文本处理 常见用途： - 修复CSV文件导入错误 - 清理文本文件编码问题 - 为JSON解析准备数据 - 修复XML解析问题 - 解决API数据编码冲突 - 标准化文本数据格式
- [数据范围限制器](https://elysiatools.com/zh/tools/data-range-limiter): 将数值限制在指定范围内，通过裁剪、过滤或标记越界值。完美用于数据质量控制、传感器数据清洗、业务规则执行和数据预处理。 功能特点： - 范围裁剪（将值裁剪到最小/最大边界） - 范围过滤（移除越界行） - 范围标记（标记修改的值） - 每列范围配置 - 自动数值列检测 - 多种处理策略 - 详细修改报告 - 变更统计分析 - 业务规则执行 常见用途： - 传感器数据验证和清洗 - 机器学习输入准备 - 数据质量控制和验证 - 业务约束执行 - 异常值管理和控制 - 数据预处理管道
- [体育数据 JSON 可视化器](https://elysiatools.com/zh/tools/sports-data-json-visualizer): 粘贴任意体育 API（ESPN、TheSportsDB、balldontlie、football-data.org、api-sports.io）的 JSON 数据，自动识别格式并渲染成清晰的记分板（胜方高亮、含比赛状态）。

## 示例

- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [聊天记录 JSON 示例](https://elysiatools.com/zh/samples/chat-transcript-json): 多角色聊天记录的 JSON 示例
- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构
- [富媒体 JSON 示例](https://elysiatools.com/zh/samples/rich-media-json): 常见富文本编辑器（TipTap、Quill、Slate）的 JSON 示例

## 相关内容

- [半结构化文本解析与表格提取](https://elysiatools.com/zh/hubs/semi-structured-text-table-extraction): 将定宽记录、混乱分隔文本、日志、Markdown 表格和 HTML 表格解析为 CSV、JSON、XML 或 Excel，并保留可复核的清理过程。
