datai/datai-scenes/datai-scene-salesforce/docs/api-docs/2026-02-05-002-06-api.md

15 KiB
Raw Blame History

API 文档:日志记录功能

元数据

  • 需求编号002-06
  • 需求名称:日志记录
  • 版本号v1.0.0
  • 创建时间2026-02-05
  • 创建人AI Assistant

API 概述

日志记录 API 提供 Salesforce Apex 日志的查询、调试头部管理和日志分类管理功能。该 API 为测试执行、代码覆盖率、Flow 覆盖率等功能提供日志追踪支持,便于问题排查和性能分析。

基础信息

  • 基础路径/apex
  • 权限前缀apex:apexlog
  • 数据格式JSON
  • 字符编码UTF-8

核心功能

  1. 日志查询:支持分页查询 Apex 日志记录,可按应用名称、位置、操作、状态、时间范围筛选
  2. 日志详情:根据 ID 查询单个日志记录的详细信息
  3. 调试头部管理:支持设置和清除调试头部信息
  4. 日志分类管理:支持日志分类的创建、查询、更新、删除操作

接口列表

1. 查询日志列表

  • 功能描述:分页查询 Apex 日志记录列表,支持多种筛选条件
  • 请求方式GET
  • 请求路径/apex/apexlog/list
  • 权限要求apex:apexlog:list

请求参数

参数名 类型 必填 说明
pageNum Integer 当前页码,默认 1
pageSize Integer 每页记录数,默认 10
application String 应用程序名称,支持模糊查询
location String 位置信息,支持模糊查询
operation String 操作类型,支持模糊查询
status String 日志状态
startTime String 开始时间格式yyyy-MM-dd HH:mm:ss
endTime String 结束时间格式yyyy-MM-dd HH:mm:ss

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据
data.total Long 总记录数
data.rows Array 日志记录列表
data.rows[].id Long 日志 ID
data.rows[].application String 应用程序名称
data.rows[].location String 位置信息
data.rows[].operation String 操作类型
data.rows[].status String 日志状态
data.rows[].logLength Integer 日志长度
data.rows[].duration Long 持续时间(毫秒)
data.rows[].startTime String 开始时间
data.rows[].createTime String 创建时间

成功示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "total": 100,
    "rows": [
      {
        "id": 1,
        "application": "Apex",
        "location": "SystemLog",
        "operation": "CodeUnit",
        "status": "Success",
        "logLength": 2048,
        "duration": 150,
        "startTime": "2026-02-05 10:30:00",
        "createTime": "2026-02-05 10:30:05"
      }
    ]
  }
}

失败示例

{
  "code": 500,
  "msg": "查询日志列表失败"
}

2. 获取日志详情

  • 功能描述:根据 ID 查询单个日志记录的详细信息
  • 请求方式GET
  • 请求路径/apex/apexlog/{id}
  • 权限要求apex:apexlog:query

请求参数

参数名 类型 必填 说明
id Long 日志 ID路径参数

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 日志详情
data.id Long 日志 ID
data.application String 应用程序名称
data.location String 位置信息
data.operation String 操作类型
data.status String 日志状态
data.logLength Integer 日志长度
data.logContent String 日志内容
data.duration Long 持续时间(毫秒)
data.startTime String 开始时间
data.endTime String 结束时间
data.userId String 用户 ID
data.createTime String 创建时间

成功示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "application": "Apex",
    "location": "SystemLog",
    "operation": "CodeUnit",
    "status": "Success",
    "logLength": 2048,
    "logContent": "EXECUTION_STARTED...",
    "duration": 150,
    "startTime": "2026-02-05 10:30:00",
    "endTime": "2026-02-05 10:30:02",
    "userId": "005xx000001X9YZAA0",
    "createTime": "2026-02-05 10:30:05"
  }
}

失败示例

{
  "code": 500,
  "msg": "日志不存在"
}

3. 设置调试头部

  • 功能描述:设置调试头部信息,包括日志分类和日志类型
  • 请求方式POST
  • 请求路径/apex/apexlog/debugHeader
  • 权限要求apex:apexlog:debug

请求参数

参数名 类型 必填 说明
logCategories Array 日志分类数组
logCategories[].category String 日志分类DB、APEX_CODE、VALIDATION、WORKFLOW、CALLOUT、SYSTEM
logCategories[].level String 日志级别None、Fine、Finer、Finest、Debug、Info、Warn、Error
logType String 日志类型ApexCode、ApexProfiling、Callout、Database、System

请求示例

{
  "logCategories": [
    {
      "category": "DB",
      "level": "FINE"
    },
    {
      "category": "APEX_CODE",
      "level": "DEBUG"
    },
    {
      "category": "VALIDATION",
      "level": "INFO"
    }
  ],
  "logType": "ApexCode"
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据null

成功示例

{
  "code": 200,
  "msg": "调试头部设置成功",
  "data": null
}

失败示例

{
  "code": 500,
  "msg": "调试头部设置失败: 无效的日志分类"
}

4. 清除调试头部

  • 功能描述:清除已设置的调试头部信息
  • 请求方式DELETE
  • 请求路径/apex/apexlog/debugHeader
  • 权限要求apex:apexlog:debug

请求参数

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据null

成功示例

{
  "code": 200,
  "msg": "调试头部清除成功",
  "data": null
}

失败示例

{
  "code": 500,
  "msg": "调试头部清除失败"
}

5. 查询日志分类列表

  • 功能描述:分页查询日志分类列表,支持按分类名称、级别筛选
  • 请求方式GET
  • 请求路径/apex/apexlogcategory/list
  • 权限要求apex:apexlogcategory:list

请求参数

参数名 类型 必填 说明
pageNum Integer 当前页码,默认 1
pageSize Integer 每页记录数,默认 10
categoryName String 分类名称,支持模糊查询
categoryLevel String 日志级别
enabled Boolean 是否启用

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据
data.total Long 总记录数
data.rows Array 日志分类列表
data.rows[].id Long 分类 ID
data.rows[].categoryName String 分类名称
data.rows[].categoryLevel String 日志级别
data.rows[].description String 描述
data.rows[].enabled Boolean 是否启用
data.rows[].createTime String 创建时间

成功示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "total": 10,
    "rows": [
      {
        "id": 1,
        "categoryName": "数据库操作",
        "categoryLevel": "FINE",
        "description": "记录数据库操作日志",
        "enabled": true,
        "createTime": "2026-02-05 10:00:00"
      }
    ]
  }
}

6. 获取日志分类详情

  • 功能描述:根据 ID 查询单个日志分类的详细信息
  • 请求方式GET
  • 请求路径/apex/apexlogcategory/{id}
  • 权限要求apex:apexlogcategory:query

请求参数

参数名 类型 必填 说明
id Long 分类 ID路径参数

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 分类详情
data.id Long 分类 ID
data.categoryName String 分类名称
data.categoryLevel String 日志级别
data.description String 描述
data.enabled Boolean 是否启用
data.createTime String 创建时间
data.updateTime String 更新时间

成功示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "categoryName": "数据库操作",
    "categoryLevel": "FINE",
    "description": "记录数据库操作日志",
    "enabled": true,
    "createTime": "2026-02-05 10:00:00",
    "updateTime": "2026-02-05 10:00:00"
  }
}

7. 创建日志分类

  • 功能描述:创建新的日志分类配置
  • 请求方式POST
  • 请求路径/apex/apexlogcategory
  • 权限要求apex:apexlogcategory:add

请求参数

参数名 类型 必填 说明
categoryName String 分类名称,长度 1-100 字符
categoryLevel String 日志级别None、Fine、Finer、Finest、Debug、Info、Warn、Error
description String 描述,长度 0-500 字符
enabled Boolean 是否启用,默认 true

请求示例

{
  "categoryName": "数据库操作",
  "categoryLevel": "FINE",
  "description": "记录数据库操作日志",
  "enabled": true
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据null

成功示例

{
  "code": 200,
  "msg": "创建成功",
  "data": null
}

失败示例

{
  "code": 500,
  "msg": "创建失败: 分类名称已存在"
}

8. 更新日志分类

  • 功能描述:更新现有日志分类配置
  • 请求方式PUT
  • 请求路径/apex/apexlogcategory
  • 权限要求apex:apexlogcategory:edit

请求参数

参数名 类型 必填 说明
id Long 分类 ID
categoryName String 分类名称,长度 1-100 字符
categoryLevel String 日志级别
description String 描述,长度 0-500 字符
enabled Boolean 是否启用

请求示例

{
  "id": 1,
  "categoryName": "数据库操作",
  "categoryLevel": "DEBUG",
  "description": "记录数据库操作日志(更新)",
  "enabled": true
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据null

成功示例

{
  "code": 200,
  "msg": "更新成功",
  "data": null
}

9. 删除日志分类

  • 功能描述:删除日志分类配置(支持批量删除)
  • 请求方式DELETE
  • 请求路径/apex/apexlogcategory/{ids}
  • 权限要求apex:apexlogcategory:remove

请求参数

参数名 类型 必填 说明
ids String 分类 ID 列表,多个 ID 用逗号分隔(路径参数)

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 响应数据null

成功示例

{
  "code": 200,
  "msg": "删除成功",
  "data": null
}

失败示例

{
  "code": 500,
  "msg": "删除失败: 分类不存在"
}

错误码

日志记录错误码

错误码 错误名称 说明 HTTP 状态码
APEX_LOG_001 LOG_NOT_FOUND 日志不存在 404
APEX_LOG_002 LOG_QUERY_FAILED 日志查询失败 500
APEX_LOG_003 DEBUG_HEADER_SET_FAILED 调试头部设置失败 500
APEX_LOG_004 DEBUG_HEADER_CLEAR_FAILED 调试头部清除失败 500
APEX_LOG_005 INVALID_LOG_CATEGORY 无效的日志分类 400
APEX_LOG_006 INVALID_LOG_LEVEL 无效的日志级别 400
APEX_LOG_007 INVALID_LOG_TYPE 无效的日志类型 400

日志分类错误码

错误码 错误名称 说明 HTTP 状态码
APEX_LOG_CATEGORY_001 CATEGORY_NOT_FOUND 日志分类不存在 404
APEX_LOG_CATEGORY_002 CATEGORY_CREATE_FAILED 日志分类创建失败 500
APEX_LOG_CATEGORY_003 CATEGORY_UPDATE_FAILED 日志分类更新失败 500
APEX_LOG_CATEGORY_004 CATEGORY_DELETE_FAILED 日志分类删除失败 500
APEX_LOG_CATEGORY_005 CATEGORY_NAME_EXISTS 分类名称已存在 400

通用错误码

错误码 错误名称 说明 HTTP 状态码
400 BAD_REQUEST 请求参数错误 400
401 UNAUTHORIZED 未授权 401
403 FORBIDDEN 禁止访问 403
404 NOT_FOUND 资源不存在 404
500 INTERNAL_ERROR 服务器内部错误 500

枚举值定义

日志分类LogCategory

说明
DB 数据库操作
APEX_CODE Apex 代码
VALIDATION 验证规则
WORKFLOW 工作流
CALLOUT 外部调用
SYSTEM 系统操作

日志级别LogCategoryLevel

说明
None
Fine 细粒度
Finer 更细粒度
Finest 最细粒度
Debug 调试
Info 信息
Warn 警告
Error 错误

日志类型LogType

说明
ApexCode Apex 代码日志
ApexProfiling Apex 性能分析日志
Callout 外部调用日志
Database 数据库操作日志
System 系统日志

日志状态LogStatus

说明
Success 成功
Failed 失败
Pending 进行中

相关文档

版本历史

版本号 日期 变更内容 作者
v1.0.0 2026-02-05 初始版本,实现日志记录功能的所有 API 接口 AI Assistant