Debug Log — Trace Flags, Filters & Log Inspector

DEX455 - Apex 调试与异常处理完全指南

📄 第 431 页 🎬 视频课程

课程章节介绍

同学们,今天我们来聊一聊调试日志里几个非常实用但容易被忽略的细节。这些内容能帮你更高效地排查问题,也能让你看懂日志里那些“隐藏信息”。我们一个一个来,轻松一点,就像在聊天。 先说第一个:关于跟踪标志的覆盖。 你可能知道,可以在“用户”身上设置调试日志,也就是给某个用户开一个跟踪标志,这样该用户操作时系统就会记录日志。那如果我还想对一个特定的类或者触发器设置更细的日志级别呢?比如我给用户开了DEBUG级别的日志,但某个类我只想看ERROR级别的错误,不想被大量调试信息淹没。这时候就可以给这个类单独创建一个跟踪标志,设置成ERROR级别。 记住一个要点:,类或者触发器的跟踪标志会覆盖用户级别的跟踪标志,,但有个前提——它不会独立开启日志记录。也就是说,你得先确保那个用户的调试日志功能是开启的(用户有活动的跟踪标志),类/触发器的跟踪标志只是在这个前提下,把记录的级别替换成自己设置的。如果用户根本没开日志,类上的跟踪标志是不会凭空生成日志的。这一点很多同学容易搞混。 好,接下来看日志本身。打开一份调试日志,里面每一行其实都是一个“事件”。比如方法进入、代码单元结束、SOQL执行等等。这些,事件日志行有固定的格式,:先是事件名称,然后跟着行号,最后是一些针对该事件的详细描述。就像你看到的 `METHOD_ENTRY [10] myMethod()`,意思就是在第10行进入了某个方法,后面带上方法签名。这样设计是为了让工具和人都能快速解析。你在开发者控制台里看到每条日志前面的图标,就是根据事件名称来区分的。 这就引出了第三个点——,日志检查器,。在Developer Console的底部,当你打开一份日志,双击某一行时,旁边的面板会变成,上下文敏感的执行查看器,。它会自动给你展示这条日志对应的源代码、来自哪个触发器,以及当前事务的执行序列调用栈。你可以顺着这些信息快速跳转到代码里,非常直观。这个就是日志检查器,相当于一个智能导游,把日志和代码关联在一起。 然后注意一下视图的差别。Developer Console的日志有两种显示方式:,执行日志视图,和,原始日志视图,。你可以在底部的标签页切换

关键词

Apex Salesforce Developer Guide