IntelliJ IDEA 2026.2支持Logpoints替代System.out.println,具备不污染代码、绕过第三方库限制、获取完整上下文等优势;可通过gutter右键添加、设置条件表达式、在字节码中注入、禁用暂停强制求值,以及通过AI Agent指令自动管理。

在IntelliJ IDEA 2026.2中,用Logpoints替代System.out.println调试,能避免污染代码、绕过第三方库限制、获取完整执行上下文,且无需修改源文件——尤其适合高频调用路径与AI Agent协同调试场景。
快速添加日志点
在代码行号左侧的gutter区域单击右键→选择“Add Logpoint”→输入表达式如"user.id=" + user.getId() + ", status=" + user.getStatus()。
这一步操作起来很简单,直接把表达式填进去就行。IDE会自动将该行标记为淡黄色圆点,表示已启用Logpoint。
注意:如果gutter区域没有反应,请确认当前文件已处于调试配置下(即已点击Debug按钮启动调试器),否则Logpoint不会生效。
设置带条件的日志输出
方法一:右键已有断点→选择“More…”→勾选“Log evaluated expression”→在下方输入框填写表达式→再勾选“Condition”,输入布尔条件如user != null && user.getAge() > 18。
方法二:直接在gutter上长按Alt键并单击行号→弹出快捷菜单→选择“Add Conditional Logpoint”→一次性输入条件与日志内容,格式为condition ? "log message" : null。
【必须确保条件表达式返回boolean类型,否则Logpoint会被静默忽略】
在第三方库字节码中设置Logpoint
第一步:在调试过程中打开“Classes”视图(Debug工具窗口→右上角齿轮图标→Show Classes)。
第二步:搜索目标类名(如org.apache.commons.lang3.StringUtils)→双击进入反编译视图。
使用3×3×10框架生成90+个个性化Instagram内容创意,用AI编辑器精选最佳创意,并将获胜者扩展为可操作的简洁内容。
第三步:在反编译后的某一行(如if (str == null) {)左侧gutter单击→添加Logpoint→输入"StringUtils.isNotNull called with: " + str。
这一步不需要源码,也不需要重新编译。只要JVM加载了该类,IDEA就能通过字节码插桩机制注入日志逻辑。
第四步:继续执行程序,控制台将实时输出该库内部调用时的实际参数值。
禁用暂停+强制求值组合技
右键断点→取消勾选“Suspend”→勾选“Evaluate and log”→在表达式框中输入System.currentTimeMillis() + " | " + Thread.currentThread().getName() + " | " + Arrays.toString(args)。
这个组合让Logpoint既不中断流程,又能捕获线程名、时间戳和入参快照,比手写System.err.println()更安全——因为【它完全不依赖标准输出流,不受重定向或日志框架配置影响】。
用AI Agent自动管理Logpoint
在Debug控制台底部输入指令:/logpoint add on line 42 of UserService.java: "user.email=" + user.getEmail()。
AI Agent会立即定位到对应文件与行号,插入Logpoint并启用。你不需要手动切换文件、滚动查找、右键菜单操作。
如果想批量清理,输入/logpoint clear all即可全部移除,不会误删普通断点。










