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
输出放在哪里?
我对@987654322@ 不感兴趣。我正在使用一个使用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 打印?的主要内容,如果未能解决你的问题,请参考以下文章
看似无限循环终止,除非使用 System.out.println