Despite the fact that offical Tomcat’s Wiki says:
System.out and System.err are both redirected to CATALINA_BASE/logs/catalina.out when using Tomcat’s startup scripts (bin/startup.sh/.bat or bin/catalina.sh/.bat). Any code that writes to System.out or System.err will end up writing to that file. (link)
For some reason that scape from my understanding, this is not 100% true. Many dirty System.out don’t go to catalina file, been readable only from console.
So, the solution to guarantee that all console messages became available in a file (usually for troubleshooting purposes) is:
- Locate the file startup.sh or startup.bat
- Look into for call “%EXECUTABLE%” start %CMD_LINE_ARGS%
- Replace the command above for call “%EXECUTABLE%” run >..\logs\console.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\console.log 2>&1