基本日志查询

本指南介绍了如何在旧版日志查看器的基本查询界面中根据标签或文本搜索查询日志条目。如需了解使用旧版日志查看器的更多高级日志查询选项,请参阅高级日志查询

如需导出日志条目,请参阅使用旧版日志查看器导出。若要通过 API 读取日志条目,请参阅 entries.list。若要使用 SDK 读取日志条目,请参阅读取日志条目

开始使用基本查询

  1. 在 Cloud Console 中,转到 Google Cloud 的运维套件 Logging > 日志页面:

    转到“旧版日志查看器”页面

  2. 在页面顶部选择一个现有 Google Cloud 项目。

  3. 使用下拉菜单 ,选择您要查看其日志的资源。

以下屏幕截图展示了基本查询界面。截图展示了来自 App Engine 应用的四个日志条目。我们已点击第二个条目的展开箭头 将其展开

显示基本日志查询选项的界面。

基本日志查询界面包含以下几大部分(如屏幕截图中的红色数字所示),其中一些与高级查询界面相同:

  1. 窗口标签页 - 供您选择日志(旧版日志查看器)、指标(请参阅基于日志的指标)、导出(请参阅导出日志)和日志提取(请参阅日志排除项)。
  2. 基本日志查询界面中的搜索查询框 - 供您按标签或通过文字搜索查询日志条目。系统显示的是基本查询界面,而您可以通过下拉菜单 切换到高级查询界面或获取指向您的查询的链接。日志查询在界面中被标记为“过滤条件”,因为借助它们可以选择一组特定的日志条目。
  3. 基本选择器菜单 - 供您选择要显示的资源、日志和严重级别。

    • 资源:您当前项目中的可用资源。
    • 日志:您的项目中当前资源提供的日志类型。
    • 日志严重性:日志严重级别。
  4. 时间范围选择器下拉菜单 - 供您查询特定日期和时间范围的日志。

  5. 页面顶部的流式显示选择器 - 用于控制是否在收到新的日志条目时显示该条目。

  6. 日志条目表 - 包含符合当前查询和自定义字段的日志条目。

  7. 每个日志条目前面的展开箭头 - 可供您查看相应条目的完整内容。如需了解详情,请参阅本页中的展开日志条目

  8. 查看选项菜单 - 包含其他显示选项。

  9. 下载日志菜单 - 供您下载一组日志条目。

  10. 对每个日志条目都会显示的更多 选项 - 供您在日志条目上放置一个图钉、在其资源上下文中显示日志条目,以及将日志条目的网址复制到剪贴板。

最后,旧版日志查看器使用游标位置突出显示相关的日志条目,并在更多 选项旁边放置一个图钉 (📌) 符号。

基本搜索条件

在基本查询界面中的搜索查询框中输入文本,然后选择 ENTER。搜索会返回包含搜索字词的所有日志条目,搜索时不区分这些搜索字词出现的位置和字段(timestamp 除外),并且字母不区分大小写。旧版日志查看器在您的搜索字词前添加的 text: 表示对“所有字段”进行搜索。

以下是一些常见的搜索条件以及不符合常规预期的搜索条件。

常见的基本搜索条件示例

Unicorn (text:Unicorn)

查找任意字段中包含 unicorn 的所有日志条目(字母不区分大小写)。

unicorn phoenix (text:unicorn text:phoenix)

在相同或不同的字段中查找包含 unicorn phoenix 的所有日志条目。如果您需要同时包含这两个字词的日志条目,请使用高级查询界面

"unicorn phoenix" (text:"unicorn phoenix")

查找同一字段中包含 unicorn phoenix 的所有日志条目,这两个字词的字母不区分大小写,并且仅由一个空格隔开。基本日志查询界面不支持搜索同一字段中任何位置的“unicornphoenix”,但高级查询界面支持此功能。

-unicorn (-text:unicorn)

查找任意字段中包含 unicorn 的所有日志条目(字母不区分大小写),并从显示的条目中排除这些条目。基本日志查询界面不支持在相同字段或不同字段中搜索“-unicorn-phoenix”,但高级日志查询界面支持此功能。

2345 (text:2345)

查找包含字符串 2345 的所有日志条目。日志条目中的数字通常用字符串表示,因此该搜索条件可以匹配诸如 123456 之类的内容。

不符合常规预期的搜索条件

uni* (text:uni*)
这不是正则表达式通配符搜索。此搜索将查找包含由 4 个字符组成的字符串 "uni*" 的所有日志条目。请注意,基本查询界面不支持正则表达式搜索,并且您无法应用 *? 等特殊通配符。要在高级查询界面中使用正则表达式,请参阅使用正则表达式查询条目
2017-02-05 (text:2017-02-05)
这与日志条目时间戳不匹配。此搜索查找在除 timestamp 以外的任何字段中包含字符串 2017-02-05 的所有日志条目。如果日志条目的负载或其他字段中包含日期字符串,则可以搜索此类内容。您也可以使用跳转到日期菜单。借助高级日志查询界面,您可以使用指定了时间戳范围的搜索条件。
200..299 (text:200..299)
这与 250 不匹配。基本查询界面搜索将查找包含由 8 个字符组成的字符串 "200..299" 的日志条目。此范围符号只能在限定为整数字段的搜索条件中使用。参阅本页中的搜索特定字段
unicorn NOT phoenix (text:unicorn text:NOT text:phoenix)
unicorn OR phoenix (text:unicorn text:OR text:phoenix)
这些不是布尔值文本搜索条件,因为基本日志查询不支持在文本搜索中包含布尔运算符(AND、OR、NOT 或 AND NOT)。如果您添加多个文本搜索字词,这些字词会通过 or 隐式连接。您可以使用 -(减号)运算符代替布尔运算符 NOT。如需了解详情,请参阅本页中常见的基本搜索条件示例

搜索特定字段

在搜索字词前添加字段名称和一个英文冒号可将搜索范围限定为特定字段。该字段名称及英文冒号将取代所有字段搜索条件中的 text:。当您在搜索查询框中输入内容时,会看到匹配字段列表:

显示匹配字段的搜索查询框。

在以下示例中,status: 是 HTTP 状态代码(整数),而 path: 是请求中的 HTTP 路径:

path:query
查找 HTTP 路径中包含 query 的日志条目(字母不区分大小写);例如 /query/App/Query/17
path:*
查找包含 path 字段的日志条目。这是星号 (*) 字符的一种特殊用法;系统通常不会将其视为特殊字符处理。
status:200
查看状态(仅)为 200 的日志条目。此搜索条件不会匹配 2000 之类的状态。已知 status 为整数字段,因此系统会在数值上进行比较。
status:abc
非法条件,因为已知 status 包含整数。
status:400..499
查找 HTTP 状态在 400 到 499 之间的日志条目。范围仅适用于已知包含整数的字段。如果对其他字段使用范围,则相应范围将被解读为包含 . 字符的单个字符串。
path:query unicorn
查找 path 字段包含 query 任意字段包含 unicorn 的日志条目。unicorn 前面没有字段名称,因此等同于 text:unicorn。如果添加针对不同字段(或者多个字段和 text:)的搜索字词,这些字词将由 and 隐式连接。
path:query path:status
查找 path 字段包含 query status 的日志条目。如果添加针对同一字段的多个搜索字词,这些字词将由 or 隐式连接。
path:query status:200 path:status status:500..502
查找路径包含 query status status 值为 200、500、501 502 的日志条目。换句话说,or 的绑定比 and 更紧密,且搜索字词的顺序对结果无任何影响。

问题排查

如果您不确定为什么您的搜索条件在基本查询界面中无效,请暂时切换到高级查询界面

  1. 使用搜索查询框中的下拉菜单 选择转换为高级过滤条件

  2. 查看搜索查询框,确定它的设置是否符合您的需求。

  3. 使用浏览器的返回按钮返回基本查询界面。选择此选项将返回您之前在基本查询界面中所做的选择。

  4. 如果您在第 2 步中发现不符合预期的查询,则可以在搜索查询框、基本选择器菜单或时间范围选择器菜单中进行更改或将其清除。

下面列出了可能会导致您无法看到预期的所有日志条目的其他原因:

  • 您无法看到早于 Logging 保留期限的日志条目。如需了解有效的日志保留期限,请参阅日志保留期限

  • 在高负载时段内,将日志发送到 Logging 或者接收及显示日志的过程可能存在延迟。

  • 旧版日志查看器不会显示带有未来时间戳的日志条目,直到当前时间“赶上”这些时间戳后才会显示。这种情况并不常见,可能是由发送日志的应用中的时间偏差引起的。