Eclipse调试模式:控制台输出不起作用

时间:2016-08-02 08:45:45

标签: java eclipse console output

我在一家每天都有应用程序更新的企业工作。

我昨天做了更新,因为我暂时没有这样做。但是对于我来说,开发者现在面临着一个巨大的问题:Eclipse控制台上的标准输出在十几行之后不再出现了,我不知道为什么会这样做。

的确,这是问题出现时的输出:

[02/08/2016 10:27:21] Info : Reading /me/test.properties property file
[02/08/2016 10:27:21] Info : Reading /me/test2.properties property file
[02/08/2016 10:27:21] Info : Reading /me/test3.version property file
[02/08/2016 10:27:21] Info : Connection to NamingService on host server  with port 14010
-- listing properties --
org.omg.CORBA.ORBInitialPort=4444
org.omg.CORBA.ORBClass=com.sun.corba.se.internal.iiop.ORB
org.omg.CORBA.ORBInitialHost=server
org.omg.CORBA.ORBSingletonClass=com.sun.corba.se.internal.iiop.ORB
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/myDir/myFile.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/myDir2/myFile2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

在那之后,我不能正常输出(在我不知道之前,但事实上有日期和小时是一个好兆头。

例如,如果我做了一点System.out.println("Hi")则不打印。相信我,在那个项目中,有很多调试输出应该打印出来。

如果你知道为什么或者你认为你可以帮助我,

谢谢你,Clément。

2 个答案:

答案 0 :(得分:1)

简短回答:

您会发现您的打印控制台语句被重定向到日志中。如果不存在,则因为标准输出已被禁用。使用log.xxx从您的应用中获取信息。

LONG ANSWER:

强制控制台输出重定向到日志或通过常规配置避免它是一种常见的行为。许多公司,高级程序员或技术经理都会避免每个控制台的输出,迫使开发人员通过重定向或禁用标准输出来通过日志写入/读取所有应用程序消息。

他们因为......

...使用标准输出是初级程序员常犯的错误。

为什么?

因为这可以避免

  • 糟糕的编程技巧
  • 在生产中运行时丢失信息
  • 性能问题

如何解决?

请勿使用标准输出,使用log.infolog.debugwhat you need代替System.outSystem.err

答案 1 :(得分:0)

在服务器设置 - 常用选项卡中检查是否选中了分配控制台

You have to check the checkbox for getting the output in console