自定义日志标志

任何文本日志

连接 自定义日志 到 Excel、Sheets 和 AI

您的格式不在列表中。请先描述一次,然后进行查询。有些日志是由贵公司独有的软件生成的。将查询流指向相应的文件夹,指定记录的起始位置、使用的语法、时间戳以及列名——之后,它就和其他表格一样了。描述不匹配的行将作为原始行保留,不会被删除。

1联系
0入境口岸
只读强制执行
6 种语法可供选择 记录的六种方式 未匹配的行保留,不删除 只读 · 服务器上未安装任何软件
大创意

如果是文本文件,则可以是表格。

三个文件,格式各不相同——一个由业务线应用程序生成,一个由批处理作业生成,还有一个由一台自 2011 年以来无人维护的机器生成。只需分别描述每个文件一次,你指定的列就是你要查询的列。无需运行数据收集器,无需维护索引,也无需创建数据副本。

日志文件夹您的文件
工厂审计日志键=值
batch-2026-09-10.txt固定宽度
机器人追踪分隔符

轮换、压缩存档和重读文件——已处理

出错了什么.sql查询语言
选择 文件名、严重程度、
       数数(*) AS 线条
   文件集.事件
地点  严重性 IN ('警告','错误')
GROUP BY 文件名,严重性
ORDER BY 线条 DESC
结果你的专栏
文件名严重性线条
工厂审计日志错误268
批次-2026-09-10警告154
机器人追踪错误61
工厂审计日志警告9

有一个 严重性 因为你说有一个专栏。

图示——答案的形状,而非基准

语法

六种解释线条含义的方法

几乎所有文字日志都属于这六种格式之一。在下方找到你的日志格式,通常情况下,参考示例行比阅读描述更快就能确定。

您可以选择的语法

6种语法
分隔符CSV、TSV、管道符等等
04:11:07,web-01,错误,磁盘已满
  • 给分隔符命名——逗号、制表符、分号、竖线,或者任何文件使用的分隔符。
  • 带引号的字段会被保留,因此消息中的逗号会留在引号内。
  • 标题行可以自动命名列,无需手动输入。
  • 您可以自行设置小数分隔符,适用于分隔符为逗号的文件。
键 = 值自描述对
ts=04:11:07 host=web-01 level=error
  • 行中的键就变成了列——你不需要重新表述它们。
  • 分隔符和键值对之间的分隔符都由你决定:键和值之间的分隔符,以及键值对之间的分隔符。
  • 对前面的前缀(例如时间戳、标签)可以省略。
  • 在编写用于解析的应用程序和机器日志中很常见
Grok模式对于那些尴尬的人来说
%{TIME:ts} %{LOGLEVEL:lvl} %{DATA:msg}
  • 命名捕获会变成列——当别无他法时,它就成了逃生通道。
  • 内置配置文件背后的模式库可供借鉴。
  • 对于包含多种线条形状的文件,可以按顺序尝试几种不同的模式。
  • 初始默认值——1 信息 然后缩小列宽
JSON 行每行一个对象
{“ts”:”04:11:07”,”level”:”error”}
  • 字段会变成列,您可以选择实际需要的列。
  • 嵌套对象会以 JSON 格式完整保留,而不是被扁平化或删除。
  • 容器运行时的包装器可以被解包,以便查询内部记录。
  • 大多数现代日志库在被要求以结构化方式写入日志时会生成什么内容?
头部指令文件名包含它自己的列
#字段:日期时间 s-ip cs-方法
  • 顶部附近的一行声明了各个字段,列紧随其后。
  • W3C 扩展格式,以及任何其他借鉴了这一理念的格式。
  • 你只需给指令命名,无需拼写。 #田野
  • 无需保持同步——该文件即为列列表的来源。
固定宽度按位置列
20260910041107 web-01 错误
  • 给每一列命名,并指定起始位置和长度——无需分隔符
  • 对于字段可以包含分隔符的文件,正确答案是
  • 大型机、控制器和许多工业设备仍然在编写什么?
  • 填充部分会被去除,因此值不会以空格包裹。
要求内置如果这也是其他人拥有的格式的话。

自己描述是最快捷的方式。如果很多人都在使用这种格式,我们更倾向于将其作为内置配置文件发布,由代理程序为所有用户固定——连接器直接链接到请求,并随代理程序更新一起发布。

有必要坦诚说明一下这个结论的依据。其他日志页面上的内置配置文件都是基于真实捕获的文件构建和测试的,这一点我们已经明确说明。 此预设不能 — 格式就是您描述的那种,所以我们无法预先验证任何固定的形式。取而代之的是预览功能:测试连接会将您的描述与您自己的文件进行比对,并在您进行任何操作之前,向您展示哪些内容已解析,哪些内容未解析。
每个网站

请用一句话描述一下。 无论你在哪里跑步,都要使用它

描述是连接器的一部分,而不是机器的一部分。总部读取审计文件的五个组件也会在工厂和另一个区域读取该文件——每个站点都运行一个网络代理,该代理读取文件所在位置的文件并拨号连接到查询流。就您的防火墙而言,这是一个普通的出站连接,因此无需打开任何端口,也无需建立 VPN。

总公司 一个业务线应用程序正在编写自己的审计文件 拨号退出
设备层 控制器正在写入固定宽度的批处理记录 拨号退出
欧盟西部 同一个应用,同样的描述,却多了个文件夹 拨号退出

三个出站连接,只需一个查询点——无需入站端口、无需 VPN、无需更改防火墙。

你命名身份

每一行都会标注其来源。默认情况下,来源是文件名;如果机器或站点信息是该行中的一个字段(或文件名的一部分),则可以将标签指向该字段,并按其分组。

文件名 · 一列 · 文件名的一部分

无需打开

代理程序会建立一个加密的出站连接,请求和返回的数据都通过该连接传输。无需设置入站端口、使用 VPN 或更改防火墙设置,也无需向已运行收集器的服务器添加新的收集器守护进程。

一个连接,双向

跨区域的一次查询

每个来源 联合查询 它会指定自己的代理,因此只需一条语句即可在数据库旁边添加一个自定义日志来解释该代理——批处理文件会放在它所属的订单旁边。此功能包含在 Business 和 Enterprise 版本中。

1 个日志 + 1 个数据库 → 1 个结果集

只需编写一次,无需逐个网站编写

描述格式的工作是一次性的。第二个形状相同的文件夹相当于第二个连接器,描述也相同,因此将其部署到另一个位置只需进行设置步骤,而无需进行另一次调查。

1 描述 → 每个类似的文件夹

难点

文本文件无法回答的四个问题

解析日志行只是第一步。日志文件不会告诉你这些信息,而这些信息需要你自己去描述,而不是靠猜测。

唱片的起始和结束位置

堆栈跟踪信息是一个跨越二十行的事件,如果将其解读为二十个事件,则数字会出错。有六种方法可以标记边界:一行、用于开始记录的模式、空行、开始和结束标记、延续规则或固定计数。

1 条记录不一定是 1 行

该编码没有默认值

这是唯一一个故意留空的字段。假设 Latin-1 文件使用 UTF-8 编码不会出错——实际上它会悄无声息地损坏所有带重音符号的字符,而你可能要几个月后才会发现。因此,在第一次同步之前,我们会询问一次,而不是靠猜测。

选择,而非假定

那一年,这条线没有了

许多格式的文件只打印月份和日期就结束了。有三种方法可以解决这个问题:年份包含在文件内容中;年份来自文件自身的修改时间;或者年份从文件名中读取——通常,带有日期的存档文件会将年份保存在文件名中。

在行中 · 来自文件 · 来自名称

没有任何事会被重复计算。

每个文件都通过其前 4 KB 的内容进行指纹识别,因此即使文件被重命名或旋转,系统也能识别,而无需从头重新读取。系统会识别十种旋转模式(按名称区分),但对于只会增长的文件,则不进行任何识别。

4 KB 前缀哈希 · 20,000 条记录窗口

描述

分为五部分,然后是一个表格。

这就是您需要填写的全部内容。其他日志页面上的每个内置配置文件都包含这五个部分,由我们填写并由代理固定——现在它们也属于您了。

记录边界什么才算一次事件
一行开盘模式空白行起始和结束标记延续规则固定计数
语法唱片如何拆分
分隔符键=值格罗克JSON 行头部指令固定宽度
时间戳时间是哪一部分?
场地格式时区年模式由两个字段组成表示空的值
名称和类型
字符串整数大银双倍的布尔值时间戳时间戳日期JSON
生长文件如何变化
追加旋转模式压缩后缀文件环最大线长
默认设置刻意保持低调,这正是设计初衷:一 信息 每行包含一列,事件时间取自文件的修改时间。这足以保证首次同步几乎在任何情况下都能成功——然后您可以根据预览进行调整,直到列符合您的要求。每一行还包含其来源文件的信息,所有数据最终都会汇总到一个表中。 文件集.事件.
一个连接,每个表面

您的自定义日志数据可以放在哪里?

仅供您运行的格式并非无解。只需描述一次文件夹,同一个只读连接即可为 Query Streams 支持的所有接口提供数据——无需二次设置,无需二次复制数据,处理方式与数据库连接器完全相同。

支持

自定义日志导出到 Excel

微软 Excel · Excel 加载项

将实时自定义日志结果直接提取到工作表中,并按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。

Excel 的工作原理
支持

将自定义日志记录到 Google 表格

表格插件

从侧边栏运行已保存的自定义日志查询,并将结果行拖放到工作表中。共享协作者可以自行刷新日志。

Google 表格的工作原理
支持

自定义日志 MCP 服务器

Claude、Cursor 和 MCP 客户端 · MCP 服务器

赋予 AI 助手对自定义日志的只读访问权限,并提供编写正确 SQL 所需的架构——聊天中无需提供凭据。

MCP 的工作原理
支持

自定义日志 REST API

HTTP 端点

将自定义日志查询发布为任何应用程序都可以调用的已认证 JSON 端点,符合 OpenAPI 3.1 规范,并预置了 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。

REST API 的工作原理
支持

将自定义日志写入 Airtable

自动化平台

按计划将自定义日志行同步到 Airtable,或者在 Airtable 自动化脚本中获取它们。

Airtable 的工作原理
支持

自定义日志到 Baserow

自动化平台

通过 REST 端点从自定义日志向 Baserow 表提供数据——无论是自托管还是 Baserow 云。

Baserow 的工作原理
支持

SeaTable 自定义日志

自动化平台

使用自定义日志数据保持 SeaTable 数据库的最新状态,而无需导出文件或暴露数据库。

SeaTable 的工作原理
支持

自定义日志到 Smartsheet

自动化平台

将自定义日志结果推送到 Smartsheet 网格中,以便计划和报告从源系统读取数据,而不是从上周的导出数据读取数据。

Smartsheet 的工作原理
支持

Anvil 的自定义日志

Anvil Works · 应用平台

通过 REST 端点支持带有自定义日志的 Anvil Python 应用程序,而不是将数据库凭据嵌入到应用程序中。

Anvil 的工作原理
支持

将自定义日志写入 Power BI

Power Query M

将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表将通过 HTTPS 读取实时自定义日志结果——无需 ODBC 驱动程序,也无需打开数据库端口。

Power BI 的工作原理
支持

自定义日志警报和报告

Slack · Discord · 电子邮件 · Webhook

将自定义日志查询设置为定时执行,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的阈值时才发送消息。

警报和报告的工作原理
这里值得重点关注的是 Excel:如果某个日志没有其他工具支持,通常意味着有人已经手动将其重新输入到电子表格中。如果直接将工作表指向查询,这项工作就无需再做了。目前还没有针对日志的详细分步指南——相关链接页面介绍了各个界面的工作原理。

它刻意不做的事情

先说最重要的一个: 在您使用此方法之前,请先尝试内置配置文件。运行“测试连接”后,代理程序会提供它能识别的最接近的内置选项——代理程序会锁定一个内置选项,并且该选项已使用真实文件进行过测试,而您今天下午编写的描述文件并未经过测试。此预设选项是其他程序无法运行的格式的备用方案,而非默认起始选项。

系统不会读取您的日志来自动识别文件格式。系统提供的“最接近匹配项”是将您的文件结构与已提供的配置文件进行比较——即根据已知格式进行模式匹配,而不是使用模型读取您的数据。如果没有匹配项,则需要您自行编写描述,预览功能用于检查描述是否正确。

它不是实时日志流。查询流会在您运行查询时读取磁盘上的文件,因此失败的作业会以行的形式显示,而不是以您可以监视的流的形式显示。如果您需要在打印行时立即发出亚秒级警报,那么日志管道才是合适的工具。

它只读取文本,不读取其他文本。文件夹中包含归档文件和二进制数据库。 。拉链, 。出租车原始日志文件——不会被打开或猜测,而是保持原样。文本日志的压缩版本会被读取;而包含其他内容的容器则不会被读取。

描述信息可能存在错误,因此不会丢弃任何数据。语法不匹配的行会作为原始数据行保留,并附带错误原因,这样错误就会以可见和可查询的形式出现,而不是默默无闻地显示出来。修正描述信息并重新同步即可。其余部分遵循常规设计:代理程序连接出站网络并读取文件,服务器上不安装任何软件,不写回任何数据,且访问权限为只读。

工作原理

只需三步,服务器上就不会安装任何东西。

01

指向文件夹

赋予 Query Streams Agent 对文件所在位置的读取权限——服务器上的目录、映射的共享、作业将其输出写入的文件夹。

02

描述格式

首先运行测试连接:如果形状与已提供的形状匹配,则使用其内置的样式即可。否则,请填写五个部分并观察预览,直到列看起来正确为止。

03

查询它,或者连接它

从门户网站运行 SQL,将其实时导入 Microsoft Excel 或 Google Sheets,或者使用联合查询将文件连接到提供上下文的数据库——只需一条语句即可完成。

自定义日志常见问题解答

什么时候应该使用这个而不是内置配置文件?

当其他方法都不适用时,内置配置文件涵盖机器控制器、Web 服务器、容器、应用程序框架和系统日志,每个配置文件都经过编写和测试,并基于真实文件进行验证——因此,如果您的日志属于其中之一,选择它既省事又比您自己描述日志更可靠。

做决定前请先运行连接测试。代理会将您的文件格式与预置配置文件进行比较,并提供最接近的匹配项,因此答案来自您的实际文件,而非猜测。如果测试没有返回任何结果,请尝试使用描述功能。

我需要了解正则表达式吗?

通常不需要。六种语法中有五种根本不需要任何模式:分隔符文件需要分隔符,键值对文件本身进行描述,JSON 行本身进行描述,头部指令为其列命名,固定宽度需要每列的起始位置和长度。

Grok 是第六个功能,它是解决真正棘手线条问题的捷径。即使如此,你也大多是在组装已命名的组件——时间戳、关卡等等——内置配置文件背后的模式库可供借鉴,而无需从零开始。

我必须第一次就把描述写对吗?

不,默认设置已经完成,您无需手动操作。开箱即用,几乎任何文本文件都能成功完成首次同步:一个 信息 每行一列,事件时间取自文件的修改时间。这样就能得到一个可以实际查看的表格。

然后您可以进行细化。预览功能会显示您的描述对现有行的影响,因此您可以将严重级别或作业编号提取到单独的列中,并在提交之前查看结果。稍后可以更改并重新同步——在此期间不会丢失任何数据。

我的事件跨越多行。它能处理堆栈跟踪吗?

是的,这正是人们最常需要的设置。记录不一定是一行:你可以说,每当一行数据与某个模式匹配时(通常使用左侧的时间戳),记录就开始了,之后的所有内容都属于该记录,直到遇到下一个匹配项为止。

如果边界形状不符合要求,还有其他五种方法可以绘制边界:记录之间的空白线、开始和结束标记、续行规则,或者固定的行数。如果出现二十行的例外情况,则会将其视为包含所有记录的一行。

如果这些行根本没有时间戳怎么办?

这是默认情况,而且运行良好。如果没有指定时间字段,事件时间将取自文件的修改时间——因此,行仍然会排序,并且仍然遵循保留窗口,只是时间精确到文件而不是行。

如果时间在行中,但被分成两个字段——日期列和时间列(这在固定宽度和分隔符文件中很常见)——您可以同时命名这两个字段,并将它们组合成一个时间戳。

我应该选择哪种编码方式?

对于这十年间编写的大多数文件而言,UTF-8 是正确的选择。它是唯一一个没有默认值的字段,这是有意为之:假设 Latin-1 文件使用 UTF-8 编码不会报错,它会悄无声息地损坏每个带重音符号的字符,而这种悄无声息的损坏远比事先询问一次要糟糕得多。

如果您不确定,预览会告诉您——错误的编码会在示例行中立即显示为乱码。较旧的 Windows 软件和工业设备通常是导致编码格式并非 UTF-8 的原因。

能否直接将我的格式添加为内置格式?

请咨询我们。如果某种格式已被相当数量的用户使用——例如商业产品、通用框架或工业级工具包——我们更倾向于将其作为内置配置文件发布,而不是让每个客户重复描述相同的内容。连接器直接链接到请求。

内置功能对您和我们都更有利:它由代理程序固定,经过真实捕获测试,并且会随着代理程序更新而到达您的服务器,而无需任何人触碰连接器。

如果行不匹配会发生什么情况?

它们会被保留,而不是被删除。语法不符的行会被保留为原始行,并附带原因说明。因此,奇怪的条目、您操作期间更改的格式,或者尚不完全正确的描述,都会显示出来供您查看和查询,而不是在您的数据中留下一个无声的空白。

正是这种安全机制使得完善描述变得合理。你无需在会丢弃数据的严格解析器和会生成一大段文本的宽松解析器之间做出选择——已解析的行会被正确识别,而未解析的内容仍然保留在它们旁边。

有人正在将该文件重新输入到电子表格中。

只需描述一次格式,即可生成任何人都能查询的表格。免费套餐,无需信用卡,服务器上无需安装任何软件。

只读 · 仅限出站连接 · 您的日志保留在您的服务器上