The log4j console appender writes to the JVM's stdout.
However, the concepts of stdout and stderr don't really exist in a
J2EE environment, so there's no telling where the output may go - including into a black hole. So for critical logging information, it's better to log to a more concrete channel, such as a specific log file, network pipe, email, or whatever.
In the vanilla version of Tomcat, the JVM's stdout and stderr is directed into a file named TOMCAT_HOME/logs/catalina.out. However, some Windows spins of Tomcat may open a console window instead or lose the data entirely. When using an
IDE to run Tomcat, the IDE J2EE plugin often intercepts the console and may or may not replicate it into a log file.