HTTP API
您可以使用 REST API 查询 Logging 服务。日志终端使用 Unity 服务帐户进行身份验证。
请求日志
向 Logging API 发出 GET 请求。
Observability API 文档包含日志查询操作的详细描述。
如需更多有关如何进行身份验证的信息,请参阅身份验证。
cURL 命令示例:
curl https://services.api.unity.com/observability/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/logs \
--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>' \
--url-query 'from=<TIME_FROM>' \
--url-query 'to=<TIME_TO>' \
--url-query 'query=<FILTER_EXPRESSION>' \
--url-query 'limit=<LIMIT>' \
--url-query 'offset=<OFFSET>'
提供以下可选查询参数:
from
:RFC3339 时间戳,用于指定要返回的记录的起始时间戳。例如,2023-06-29T11:30:22.939Z
。to
:RFC3339 时间戳,用于指定要返回的记录的结束时间戳。query
:用于过滤的布尔表达式。请参阅过滤日志以获取更多信息。limit
:一个正整数,用作要返回的最大记录数。必须小于或等于 100。offset
:一个正整数,用作查询第一个结果的日志偏移量。
相对时间范围
该 API 还支持 from 和 to 参数的相对时间表达式,以便更轻松地处理时间范围。
基本语法包含以下组成部分:
- 基础时间:RFC3999 时间戳或
now
关键字。 - 运算符:+ 或 -。
- 时间偏移:整数和表示天、小时、分钟或秒的单位,例如 12d、5h、3m、17s。
一些示例如下:
- from=now-30m
- from=2023-08-29T11:30:00.000Z+30s
- from=now-2d&to=now-6h
示例 API 调用
以下示例演示如何使用 cURL 从 Logging API 查询日志。
如需更多有关如何进行身份验证的信息,请参阅身份验证。
curl https://services.api.unity.com/observability/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/logs \
--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>' \
--url-query 'from=2023-09-01T00:00:00.000Z' \
--url-query 'to=2023-09-01T13:50:00.000Z' \
--url-query 'query=body~=”regular” AND logAttributes.example.myKey=”foo”' \
--url-query 'limit=10' \
--url-query 'offset=0'
响应可能如下所示:
{
"limit" : 10,
"offset" : 0,
"total" : 600,
"results" : [
{
"severityNumber" : 9,
"severityText" : "Information",
"timestamp" : "2023-09-01T10:45:00.445Z",
"body" : "this is just a regular log message",
"logAttributes" : {
"example.myKey" : "foo",
"log.record.uid" : "a566701a-a9e5-42f7-bd8e-013fa9ef1afa",
"unity.environmentId" : "c288f9e5-423b-4150-a982-5a1a40b1219a",
"unity.projectId" : "2af24fd0-f224-499e-8768-07b54c693aee"
},
"resourceAttributes" : {
"service.name" : "cloud-code"
}
}
]
}
响应包含以下字段:
limit
:返回的最大记录数。offset
:查询第一个结果的日志偏移量。total
:与查询匹配的记录总数。results
:日志条目数组。
results
数组对象映射到日志架构。