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

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

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

【问题讨论】:

    标签: jsp logging println


    【解决方案1】:

    它通常打印到 catalina.out。

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

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

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

    由 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?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    相关资源
    最近更新 更多