gpt4 book ai didi

java - 在java中打开/关闭println的任何方法(详细模式)

转载 作者:行者123 更新时间:2023-12-01 08:09:55 26 4
gpt4 key购买 nike

Java 中有没有什么方法可以让 println 仅在请求时出现,而不是默认出现?基本上类似于在许多程序中使用“-v”来为您提供详细模式,并提供有关正在发生的情况的信息。

例如,假设我在循环中有一个 if 语句,以及一个简单的 println ,它告诉我 if 语句对于循环的每次迭代是否计算结果为 true。除了在不需要时注释掉它并在需要时取消注释之外,还有其他方法可以打开/关闭它的可见性吗?然后保存,重新编译等等。

这会让我更容易地看到我的程序中发生了什么,但只有当我想要那么多信息时。正如我所说,我基本上正在寻找一种方法来实现显示打印语句的“详细”模式,而无需注释/取消注释保存、重新编译等。Java 有类似的东西吗?

最佳答案

您的最佳选择是使用某种适当的记录器(例如 log4j)。

如果这是不可能的,您可以使用诸如...之类的东西“消耗”stdout 和 stderr

PrintStream nullPrintStream = new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
}
});
System.setErr(nullPrintStream);
System.setOut(nullPrintStream);

这会阻止所有输出开始打印。如果更合适,您可以使用代理进程(使用包装在代理 PrintStream 中的当前标准输出)来过滤内容...

关于java - 在java中打开/关闭println的任何方法(详细模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18325335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com