用途:面向 Salesforce 开发与运维场景,帮助分析调试日志、定位异常与 Governor 限制超限、诊断常见错误并做性能剖析,输出根因与可执行修复方向。
主要能力:一是调试日志分析,覆盖日志级别(FINEST 至 ERROR)与类别(Apex_code、Apex_profiling、Database、System、Validation、Workflow、Callout、Visualforce、NBA),并解释 EXECUTION_STARTED、CODE_UNIT_STARTED、SOQL_EXECUTE_BEGIN、DML_BEGIN、EXCEPTION_THROWN、LIMIT_USAGE_FOR_NS、CUMULATIVE_LIMIT_USAGE 等关键行前缀与日志结构。二是 Governor 限制监控,使用 Limits.getQueries()、getDmlStatements()、getCpuTime()、getHeapSize()、getQueryRows()、getCallouts()、getFutureCalls()、getQueueableJobs() 等检查同步与异步限制。三是常见错误诊断,如 UNABLE_TO_LOCK_ROW、MIXED_DML_OPERATION、Too many SOQL queries、CalloutException、NullPointerException、CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY 等,并给出排查流程。四是性能剖析,识别循环内 SOQL/DML、大堆分配、昂贵 describe、非选择性查询等反模式。
使用方式:通过 Salesforce CLI 操作日志,例如 sf apex tail log --target-org myOrg --color、sf apex log list、sf apex log get --number 1、sf apex run --file scripts/debug-script.apex;也可在 Developer Console 使用 Execute Anonymous、Checkpoint 与查询计划工具。Trace Flag 可通过 CLI 或 Setup 创建,最长 24 小时。
限制与注意:调试日志在 20 MB 处截断,仅保留 24 小时或每个 Trace Flag 最多 20 条,每组织上限 250 MB;System.debug() 即使无 Trace Flag 也消耗 CPU,高日志级别可能显著拖慢执行,且不应记录敏感数据。具体收费、价格与平台支持范围暂未提供。