当从外部使用Tomcat从IntelliJ运行Web应用程序时,发送到System.err的消息在哪里?

问题描述 投票:0回答:1

我正在使用IntelliJ 2019.3 Ultimate Edition IDE通过Vaadin Apache Tomcat运行我的web container Web应用。

[当消息发送到System.err时,例如:

System.err

…该消息到达何处?

在IntelliJ中显示的控制台上,我看到发送到System.err.println( "My message goes here." ) ; 的消息。但是发送到System.out的消息无法在同一控制台上显示。

java tomcat intellij-idea servlets system.err
1个回答
0
投票

再次检查该控制台

消息确实应该出现在IntelliJ的同一控制台中。

您可能没有注意到的原因有两个:颜色和顺序。

彩色

提防着色。假设System.out中的System.err表示“错误”,则IntelliJ将诸如红色墨水之类的消息着色。

Vaadin生成许多不同颜色的文本。您的眼睛可能会跳过那些有色块,寻找其他颜色(例如在黑暗模式下黑色背景上的白色墨水)。

单击以放大下面由该代码创建的屏幕截图:

err

注意第3和5行。

  • 红色第3行是从呼叫到System.err
  • 白色第5行是从呼叫到System.out.println( "BASIL sout - " + message ); System.err.println( "BASIL System.err message" );
System.err日志记录框架的System.out实现的调用,在此与之无关。)

Simple

乱序显示

您可能没有由于其他原因注意到您的消息:它们以不同于您在Java代码中调用的顺序到达控制台。

再次参见上面的屏幕截图。第3行和第5行乱序显示:我们在控制台中的第二个Java调用首先出现在控制台输出中(我不知道为什么)。

© www.soinside.com 2019 - 2024. All rights reserved.