system.out.println在JSP中打印输出到哪里?

9

Tomcat把System.out.println的输出放在哪里?

我不关心out.println。我正在使用一个系统,该系统使用system.out来记录问题,例如登录成功/失败,并且我需要查看生成的“日志”。

2个回答

8

通常它会打印到catalina.out文件中。

使用system.out.println()进行日志记录是高度不推荐的,原因如下:

  • 除非更改代码,否则无法控制哪些消息被记录,哪些消息不被记录
  • catalina.out文件会不断增长,而且无法移动,以便tomcat创建另一个文件。

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

一个很好的解决方案是使用Jakarta的log标签库,它由log4j支持,您可以使用以下任意一种形式记录日志消息:

<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>

1
Log4J的作者离开了该项目,已经开始致力于logback(已经有一段时间了),它与slf4j相结合使用。这两个框架都应该是首选的日志记录框架。 - bric3
1
@Brice 我同意,SLF4J 是我目前的首选。它还有一个 JSP 标签库,在 http://www.slf4j.org/taglib/ 上有详细文档。 - David Rabinowitz

3

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() 的更改,这个配置应该在哪里找到?谢谢! - Eduardo Moniz
你正在运行哪个版本的Tomcat? - Robert Campbell

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