调试日志详细信息
调试日志包括标题、执行单元、代码单元、日志行和其他日志数据。
所需的 Edition
| 适用于:Salesforce Classic(并非在所有组织中可用)和 Lightning Experience |
| 适用于:Enterprise、Performance、Unlimited、Developer 和 Database.com Edition |
| 所需用户权限 | |
|---|---|
| 查看、保留和删除调试日志: | 查看所有数据 |
在您生成调试日志后,列出的信息类型和信息量取决于您为用户设置的筛选值。然而,调试日志的格式总是相同的。
页头包含执行单元、代码单元、日志行和其他日志信息。
执行单元
执行单元等同于事务。它包含事务中发生的所有内容。EXECUTION_STARTED 和 EXECUTION_FINISHED 分隔执行单元。
代码单元
代码单元是事务内的独立工作单元。例如,触发器是一组代码,webservice方法或验证规则也是如此。
CODE_UNIT_STARTED 和 CODE_UNIT_FINISHED 分隔代码单元。工作单元可以嵌入其他工作单元。例如:
EXECUTION_STARTED
CODE_UNIT_STARTED|[EXTERNAL]execute_anonymous_apex
CODE_UNIT_STARTED|[EXTERNAL]MyTrigger on Account trigger event BeforeInsert for [new]|__sfdc_trigger/MyTrigger
CODE_UNIT_FINISHED <-- The trigger ends
CODE_UNIT_FINISHED <-- The executeAnonymous ends
EXECUTION_FINISHED代码单元包括但不只限于以下内容:
- 触发器
- 工作流调用和基于时间的工作流
- 验证规则
- 审批流程
- Apex 潜在客户转换
@future方法调用- Web 服务调用
executeAnonymous呼叫- Apex 控制器上的 Visualforce 属性访问权限
- Apex 控制器上的 Visualforce 操作
- 批处理 Apex
start和finish方法的执行,以及execute方法的每次执行 - Apex
System.Schedule execute方法的执行 - 入站电子邮件处理
日志行
日志行包括在代码单元内,表示正在执行哪个代码或规则。日志行也可以是写入调试日志的消息。例如:
日志行由一组字段组成,并使用漏斗 (|) 分隔。其格式为:
- 时间戳:包含事件发生的时间以及括号中的值。时间为用户的时区,格式为 HH:mm:ss.SSS。附带值代表自开始请求后经过的时间(单位是纳秒)。当您使用“执行日志”视图时,已经过的时间值从开发人员控制台审核的日志中排除。但在您使用“原始日志”视图时,您可以查看经过的时间。要打开“原始日志”视图,从开发人员控制台的“日志”选项卡中,右键单击日志名称并选择打开原始日志。
- 事件标识符:指定触发调试日志条目的事件(例如
SAVEPOINT_RESET或VALIDATION_RULE)。也包含通过该事件记录的其他信息,例如方法名称或代码执行位置的行和字符数量。如果找不到行号,将记录
[EXTERNAL]。例如,为内置 Apex 类或受管软件包中的代码记录[EXTERNAL]。对于一些事件(
CODE_UNIT_STARTED、CODE_UNIT_FINISHED、VF_APEX_CALL_START、VF_APEX_CALL_END、CONSTRUCTOR_ENTRY和CONSTRUCTOR_EXIT),事件标识符的末尾包括一个漏斗(|),之后是 Apex 类或触发器的 typeRef。对于触发器,typeRef 以 SFDC 触发器前缀
__sfdc_trigger/开头。例如,__sfdc_trigger/YourTriggerName或__sfdc_trigger/YourNamespace/YourTriggerName。对于类,typeRef 使用格式
YourClass、YourClass$YourInnerClass,或YourNamespace/YourClass$YourInnerClass。
更多日志数据
此外,日志还包含以下信息。
- 累积资源使用情况记录在许多代码单元的结尾。这些代码单元包括触发器、
executeAnonymous、批量 Apex 消息处理、@future方法、Apex 测试方法、Apex Web 服务方法和 Apex 潜在客户转换。 - 累积简档配置信息在事务结尾记录一次,包含有关 DML 调用、耗资源查询等的信息。“耗资源”查询需要大量使用资源。
- 事务期间使用的 API 版本。
- 用于生成日志的日志类别和级别。例如:
66.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;
WORKFLOW,INFO
在此示例中,API 版本是 66.0,并设置了以下调试日志类别和级别。
| Apex 代码 | DEBUG |
| Apex 简档配置 | INFO |
| 标注 | INFO |
| 数据库 | INFO |
| 系统 | DEBUG |
| 验证 | INFO |
| Visualforce | INFO |
| 工作流 | INFO |
37.0 APEX_CODE,FINEST;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;
VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO
Execute Anonymous: System.debug('Hello World!');
16:06:58.18 (18043585)|USER_INFO|[EXTERNAL]|005D0000001bYPN|devuser@example.org|
Pacific Standard Time|GMT-08:00
16:06:58.18 (18348659)|EXECUTION_STARTED
16:06:58.18 (18383790)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
16:06:58.18 (23822880)|HEAP_ALLOCATE|[72]|Bytes:3
16:06:58.18 (24271272)|HEAP_ALLOCATE|[77]|Bytes:152
16:06:58.18 (24691098)|HEAP_ALLOCATE|[342]|Bytes:408
16:06:58.18 (25306695)|HEAP_ALLOCATE|[355]|Bytes:408
16:06:58.18 (25787912)|HEAP_ALLOCATE|[467]|Bytes:48
16:06:58.18 (26415871)|HEAP_ALLOCATE|[139]|Bytes:6
16:06:58.18 (26979574)|HEAP_ALLOCATE|[EXTERNAL]|Bytes:1
16:06:58.18 (27384663)|STATEMENT_EXECUTE|[1]
16:06:58.18 (27414067)|STATEMENT_EXECUTE|[1]
16:06:58.18 (27458836)|HEAP_ALLOCATE|[1]|Bytes:12
16:06:58.18 (27612700)|HEAP_ALLOCATE|[50]|Bytes:5
16:06:58.18 (27768171)|HEAP_ALLOCATE|[56]|Bytes:5
16:06:58.18 (27877126)|HEAP_ALLOCATE|[64]|Bytes:7
16:06:58.18 (49244886)|USER_DEBUG|[1]|DEBUG|Hello World!
16:06:58.49 (49590539)|CUMULATIVE_LIMIT_USAGE
16:06:58.49 (49590539)|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 0 out of 100
Number of query rows: 0 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 0 out of 150
Number of DML rows: 0 out of 10000
Maximum CPU time: 0 out of 10000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 100
Number of Email Invocations: 0 out of 10
Number of future calls: 0 out of 50
Number of queueable jobs added to the queue: 0 out of 50
Number of Mobile Apex push calls: 0 out of 10
16:06:58.49 (49590539)|CUMULATIVE_LIMIT_USAGE_END
16:06:58.18 (52417923)|CODE_UNIT_FINISHED|execute_anonymous_apex
16:06:58.18 (54114689)|EXECUTION_FINISHED
