[英]Where do messages sent to System.err go when using Tomcat externally to run a web app from IntelliJ?
我正在使用IntelliJ 2019.3 Ultimate edition IDE通过Apache Tomcat Web 容器运行我的Vaadin Web 应用程序。
当消息发送到System.err
例如:
System.err.println( "My message goes here." ) ;
......该消息在哪里?
在 IntelliJ 中显示的控制台上,我看到我发送到System.out
消息出现。 但是发送到System.err
消息无法出现在同一个控制台上。
这些消息确实应该出现在 IntelliJ 的同一个控制台中。
您可能没有注意到以下几个原因:颜色和顺序。
小心着色。 鉴于System.err
中的err
表示“错误”,IntelliJ 将此类消息着色为红色墨水。
Vaadin 生成大量不同颜色的文本。 您的眼睛可能会跳过那些彩色块,寻找其他颜色(例如在黑暗模式下黑色背景上的白色墨水)。
点击放大下面这段代码创建的截图:
System.out.println( "BASIL sout - " + message );
System.err.println( "BASIL System.err message" );
注意第 3 行和第 5 行。
System.err
调用。System.out
调用。(第 4 行来自对SLF4日志记录框架的简单实现的调用,此处无关紧要。)
您可能没有注意到您的消息的另一个原因:它们到达控制台的顺序可能与您在 Java 代码中调用的顺序不同。
在上面的屏幕截图中再次查看。 第 3 行和第 5 行乱序到达:我们在 Java 中的第二次调用首先出现在控制台输出中(我不知道为什么)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.