Tomcat 9 - catalina.out log file missing and console printouts are not shown anywhere

The tomcat9 package on Ubuntu 18.04 (and Debian 10) use a systemd .service file. By default they redirect Tomcat's stdout and stderr to syslog with a prefix tomcat9.

So you have at least two solutions:

  1. Read the output from systemd-journald:

    journalctl -u tomcat9.service
    

    You probably want to make journald storage persistent (the solution for CentOS also applies to Ubuntu).

  2. Modify the .service file to redirect output to /var/log/tomcat9/catalina.out

    systemctl edit --full tomcat9.service
    

    and follow the instructions on StackOverflow.

Remark that “logging” through System.out.println and similar is bad practice, since you cannot control what is logged and how. All messages logged through ServletContext#log() and java.util.logging end up in either catalina.<date>.log or localhost.<date>.log.