如何在servlet中使System.out.println()的输出显示在控制台?

3

我正在Windows上的Tomcat 7.0中运行一个简单的servlet。

出于调试的目的,我想要:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // do some stuff
    System.out.println("Some stuff was done");
    ...

    PrintWriter out = response.getWriter();
    out.println("Done");
}

然而,我在控制台或任何日志文件中(包括catalina.log或catalina.out)都找不到我的System.out.println输出。我已经多次搜索了这个问题,但是我阅读的方法都没有奏效。

我只需要在控制台上显示我的输出,而不必使用其他工具,所以如果有人能向我展示如何修复它的步骤,我会非常感激。


你有检查过 TOMCAT/logs/catalina.<date>.log 吗? - Jaydeep Rajput
1
请参考 https://dev59.com/PknSa4cB1Zd3GeqPQbqV。 - Jeff Storey
1
Tomcat 将所有的 System.out.print 输出到 logs 目录下的 catalina.out 文件中。 - devang
给所有回复的人:我已经检查了所有日志文件,包括catalina.out。我在每个搜索结果中都得到这个答案,但我的输出不在那里。 - ohseekay
尝试使用日志记录器,例如slf4j,以查看是否从那里获取输出。即使您想使用println,至少这将告诉您它是否是println的问题还是您有更深层次的问题。也有可能有些东西正在更改您的System.out。 - Jeff Storey
显示剩余3条评论
1个回答

2

为了便于调试,请使用一些日志框架,比如log4j

不过,System.out日志将会在catalina.out文件中或者Tomcat日志目录下的localhost*.log文件之一中。

你为什么不使用日志框架或标准的Java日志呢?它们更为实用和可配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接