Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does system.out.println print from a JSP?

Where does tomcat put the System.out.println output ?

I'm not interested in out.println. I'm using a system that uses system.out to log issues, like login success/fail, and I need to look to that generated "log".

like image 748
Eduardo Avatar asked Oct 09 '09 14:10

Eduardo


2 Answers

It usually prints to catalina.out.

It is highly unrecommended to log using system.out.println() from several reasons:

  • you cannot control which messages are logged and which aren't unless you change the code
  • catalina.out just grow all the time, and you cannot move it so that tomcat will create another one.

A better solution is to use one of the popular (and mature) logging frameworks:

  • java.util.logging (actually used by tomcat itself and you have no third party dependencies)
  • Log4j
  • Logback

A good solution which is backed by log4j, is to use Jakarta's log tag library, where you can have your logging messages in any of this forms

<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>
like image 143
David Rabinowitz Avatar answered Sep 28 '22 02:09

David Rabinowitz


CATALINA_HOME/logs/stdout_YYYYMMDD.log

is the default, where CATALINA_HOME is your base Tomcat directory. There are various ways to change this programatically and via configuration.

like image 21
Robert Campbell Avatar answered Sep 28 '22 01:09

Robert Campbell