java - 将参数打印到控制台并按原样返回的方法

标签 java

为了进行快速且非常简单的调试,我在 Java 中使用

System.out.println(String.format("%s/%s", a, b));

它工作得很好,除了我快速需要查看传递给其他方法的内容的情况。然后我需要临时变量:

String temp = String.format("%s/%s", a, b);
System.out.println(temp);
act(temp);

我想知道是否有像下面的 trace 这样的便利函数,我可以从任何流行的库中静态导入它?

act(trace(String.format("%s/%s", a, b)));

它相当于 XQuery 的 trace - 只是将内容打印到 System.out 并返回参数不变。

当然,我可以为此创建自己的实用程序,但我每天都会处理多个项目,也许已经有一些可以使用的东西了?

我知道我可以在这里使用更复杂的方法,但正如我所说,我需要它只是为了不时进行肮脏的调试。添加和删​​除应该非常容易。

最佳答案

对于类似的事情,您应该使用日志库,Java built-in library ,或第三方库,例如 log4jlogback .

然后您想要添加跟踪级别日志记录调用作为您要监视的每个方法中的第一个语句。常见的日志消息类似于 Entering myMethod(4, 2),其中 42 是实际参数值。

这样您就可以使用配置启用/禁用日志记录详细级别,而不必更新/编译/打包/安装代码。

关于java - 将参数打印到控制台并按原样返回的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34640909/

相关文章:

java - 解码 Json url

java - 使用 com.fasterxml.jackson.databind.ObjectMapper 序列化接口(interface)字段

java - 基于java的网站架构

java - <<在Java中是什么意思?

java - 我需要将逗号分隔的字符串转换为数组列表,然后计算这些分数的平均值

java - Swing 到 SWT 转换 : which disadvantages?

java - spring integration tcp-out-bound异常

java - Spring Data JPA - 数据库问题连接不可用,请求在 30000 毫秒后超时

java - 如何从 Java 文本文件中解析像 "1.8400e-016"这样的数字?

java - 从java中的本地主机连接的套接字获取IP