system.out.println 在哪里从 JSP 打印?

Posted

技术标签:

【中文标题】system.out.println 在哪里从 JSP 打印?【英文标题】:Where does system.out.println print from a JSP? 【发布时间】:2010-12-05 08:46:33 【问题描述】:

tomcat 将System.out.println 输出放在哪里?

我对@9​​87654322@ 不感兴趣。我正在使用一个使用system.out 记录问题的系统,例如登录成功/失败,我需要查看生成的“日志”。

【问题讨论】:

【参考方案1】:

它通常打印到 catalina.out。

强烈不建议使用 system.out.println() 进行日志记录,原因如下:

您无法控制记录哪些消息,哪些不记录,除非您更改代码 catalina.out 一直在增长,你不能移动它,这样 tomcat 会创建另一个。

更好的解决方案是使用流行(且成熟)的日志框架之一:

java.util.logging(实际是tomcat自己使用的,你没有第三方依赖) Log4j Logback

由 log4j 支持的一个很好的解决方案是使用 Jakarta 的日志标签库,您可以在其中以任何这种形式记录日志消息

<log:info message="this is a message"/>

<log:info category="foo.bar" message="this is a message"/>

<log:info category="foo.bar">
  this is a message
</log:info>

【讨论】:

Log4J 的作者离开了该项目,并且正在研究与 slf4j 结合使用的 logback(已经有一段时间了)。两者都应该是首选的日志框架。 @Brice 我同意,现在 SLF4J 也是我的首选。它还有一个 JSP 标记库,记录在 slf4j.org/taglib【参考方案2】:

CATALINA_HOME/logs/stdout_YYYYMMDD.log

是默认值,其中 CATALINA_HOME 是您的基本 Tomcat 目录。有多种方法可以以编程方式和通过配置进行更改。

【讨论】:

$ ls /usr/local/tomcat/logs admin.2009-10-06.log catalina.2009-10-06.log catalina.out host-manager.2009-10-06.log localhost.2009-10-06.log manager.2009-10-06.log tomcat.log 在这些文件中我都没有注意到 system.out.println 有任何变化,这个配置应该在哪里? tnx! 你运行的是什么版本的Tomcat?

以上是关于system.out.println 在哪里从 JSP 打印?的主要内容,如果未能解决你的问题,请参考以下文章

java system.out.println 输出到哪里

看似无限循环终止,除非使用 System.out.println

java 跳出多层循环

在JAVA中如何跳出当前的多重嵌套循环

java中使用System.out.println如何输出多个变量?

内部类应该在哪里实例化?