基本日志过滤条件

本指南介绍了如何在日志查看器的基本过滤条件界面中通过标签或文本搜索过滤日志条目。

如需了解更多的高级日志过滤条件选项,请参阅高级日志过滤条件

要导出日志条目,请参阅导出日志。要通过 API 读取日志条目,请参阅 entries.list。要使用 SDK 读取日志条目,请参阅读取日志条目

开始使用基本过滤条件

  1. 转到 GCP Console 中的 Stackdriver Logging > 日志(日志查看器)页面。

    转到“日志查看器”页面

  2. 从页面顶部选择一个现有 GCP 项目,或者创建一个新项目。

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

下面的屏幕截图显示了基本日志过滤条件界面。截图显示来自 App Engine 应用的四个日志条目。我们已点击第二个条目的展开箭头 (▸) 将其展开

日志查看器

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

  1. 窗口标签页 - 供您选择日志(日志查看器)、指标(请参阅基于日志的指标)、导出(请参阅导出日志)和日志提取(请参阅日志排除项)。
  2. 基本日志过滤条件界面中的搜索过滤框 - 您可以按标签或通过文本搜索过滤日志条目。此时会显示基本日志过滤条件界面和最右侧的下拉箭头 (▾),通过该箭头,您可以切换至高级日志过滤条件界面或获得跳转至过滤器的链接。
  3. 基本选择器菜单 - 供您选择要显示的资源、日志和严重级别。
  4. 时间范围选择器下拉菜单 - 用于过滤特定日期和时间范围的日志。
  5. 页面顶部的流式显示选择器 - 用于控制是否在收到新的日志条目时显示该条目。
  6. 日志条目表 - 包含符合当前过滤条件和自定义字段的日志条目。
  7. 位于每个日志条目前方的展开箭头 (▸) - 供您查看相应条目的完整内容。如需了解详情,请参阅展开日志条目
  8. 位于最右侧的查看选项菜单 - 包含其他显示选项。
  9. 位于最右侧的下载日志菜单 - 供您下载一组日志条目。
  10. 对每个日志条目都会显示的更多 (⋮) 选项 - 供您在日志条目上放置一个图钉、在其资源上下文中显示日志条目,以及将日志条目的网址复制到剪贴板。

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

基本搜索条件

在基本日志过滤条件界面上,在菜单上方的搜索过滤框中输入文本,然后按输入。搜索将返回包含搜索字词的所有日志条目,无论这些搜索字词在日志条目的什么位置,什么字段( 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:。在搜索过滤框中输入此类搜索条件时,您会看到匹配字段的列表:

基本字段搜索{ class="screenshot" }

在下面的示例中,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 步中发现不符合预期的过滤条件,则可以在搜索过滤框、基本选择器菜单或时间范围选择器菜单中进行更改或将其清除。

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

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

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

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

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Logging
需要帮助?请访问我们的支持页面