PullLogRecord
更新时间:2024-09-27
描述
查看指定日志流中的日志记录(LogRecord),您可以获取最近的日志记录内容或使用时间范围进行过滤。
请求
- 请求语法
GET /v1/logstore/{logStoreName}/logrecord?project={project} HTTP/1.1
Host: <Endpoint>
Authorization: <Authorization String>
- 请求头域
除公共请求头域外,无其它特殊头域。
- 请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
project | String | No | Query | 日志组名称 |
logStoreName | String | Yes | Path | 日志集名称 |
logStreamName | String | Yes | Query | 日志流名称 |
startDateTime | DateTime | Yes | Query | 起始日期时间,包括起始时间 |
endDateTime | DateTime | Yes | Query | 结束日期时间,不包括结束时间 |
limit | Int | No | Query | 指定返回的最大条目数,默认值100,最大支持1000 |
marker | String | No | Query | 指定查看的位置标记 |
注:
- 此处的 startDateTime 和 endDateTime 都是指 LogRecord 的 timestamp
- 日期时间均为UTC时间,格式ISO8601,例如:2020-01-10T13:23:34Z
响应
- 响应头域
除公共响应头域外,无其它特殊头域。
- 响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | List<LogRecord> | 一组日志记录 |
marker | String | 返回的位置标记 |
isTruncated | Boolean | true: 表示后面还有数据,false: 表示已经是最后一页 |
nextMarker | String | 下次查看的起始位置,可在翻页的时候作为 marker 在请求里携带 |
上表中的 result 数组中的每个 LogRecord 元素结构如下:
字段名称 | 类型 | 描述 |
---|---|---|
message | String | 日志记录的内容,如果用户上传的日志是TEXT类型,那么就是日志原文,否则为日志中的k-v 对组成的json 字符串 |
timestamp | Int | 日志记录的时间戳,精确到毫秒 |
错误码
除了通用的错误码,还可能出现如下错误码:
错误码 | 错误消息 | 描述 | HTTP状态码 |
---|---|---|---|
InvalidParameter | Request param invalid: [param] | param 值不合法 | 400 |
LogStoreStopped | LogStore stopped | LogStore因为欠费而不能写入了 | 403 |
LogStoreNotFound | LogStore not found | LogStore 不存在 | 404 |
示例
- 请求示例
GET /v1/logstore/demo/logrecord?project=default&logStreamName=my-stream&marker=JpJYBIUoFqHA4wxXzeRGREbUVg&limit=500&startDateTime=2019-09-01T22:00:00Z&endDateTime=2019-09-10T22:00:00Z HTTP/1.1
Host: bls-log.bj.baidubce.com
Authorization: bce-auth-v1/18717522d39411e9b721df098b0b908c/2019-09-10T07:00:20Z/1800/content-type;host;x-bce-date;x-bce-request-id/6a7cb6c9ac7ec156c805e55e7d0bcfc443b47feee97cf099c1c0d93a0b4c8304
- 响应示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"marker": "JpJYBIUoFqHA4wxXzeRGREbUVg",
"isTruncated": true,
"nextMarker": "dGhpcyBpcyBhbiBleGFtcGxl"
"result": [
{
"message": "this is a raw message",
"timestamp": 1542156107000
}
]
}