当我运行多个线程时,我迷失在 System.out.println
输出中,因为我想每个线程都必须在不同的控制台中。
有没有使用 Eclipse 管理它的简单方法?
编辑: 问题是不知道哪个消息属于每个线程。确切的问题是当调用新线程时控制台停止打印,log4j 也会发生同样的情况。
最佳答案
我建议您切换到比 System.out.println
更好的日志记录工具,log4j是一种流行的选择。
如果您不想为此目的包含另一个库,我建议您
- 为所有线程赋予有意义的名称(参见
Thread.setName
) - 将日志语句包装在您自己的静态日志记录函数中
- 在每行输出前加上
Thread.currentThread().getName()
前缀。
如果您认为这太“侵入性”或者如果您正在处理遗留代码,您可以创建自己的 PrintStream
将每个参数作为前缀添加到 println
当前线程名称(如上所述),然后执行 System.setOut(new YourThreadLoggingPrintStream());
。
关于java - 在控制台管理多个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108371/