I installed Tomcat6 on a Ubuntu 9.04 server using apt-get install tomcat6. I uploaded a WAR using the manager interface and tried to start the application but get a pretty generic error on the Web interface saying it couldn't be started.

I am trying to find the logs to determine why my war won't start (I suspect low memory as i'm on a small VPS) but I don't know where they are.

/var/lib/tomcat6/logs is empty. My Tomcat splash page reliably informs me of the following;

Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 
CATALINA_BASE in /var/lib/tomcat6, 
following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

UPDATE

I tried running;

$ ps -ax 
/usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid

But there is nothing in /var/log/syslog

Also runing

$ losof -p PID

didn't show any log files...

$  for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406]
lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null
l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]

Thanks,

Gav

link|improve this question

56% accept rate
feedback

3 Answers

A neat trick is to run the command "lsof -p PID" where PID is the process id of your tomcat server. This command will give you a list of all files opened by the process, including the log file.

link|improve this answer
That's an awesome tip! Unfortunately none of my processes have hold of a log file... not sure what that means. – gav Mar 30 '10 at 13:31
It could mean that the process could not open the log file. You should have some errors logged on console/STDOUT. If you are using Linux you can try for PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done – Mircea Vutcovici Mar 30 '10 at 13:38
Using apt-get to install Tomcat means that it's configured to run as a daemon using jsvc. Just required a change in your command to (java -> jsvc). The snippet returned the output at the bottom of my question (Comment formatting is unreadable). – gav Mar 30 '10 at 13:47
feedback

By default check

/var/log/tomcat6/catalina.out 

or something like that

and check logging properties in

/usr/share/tomcat6/conf/logging.properties

usually /usr/share/tomcat6/conf/ is symbolic link to /etc/tomcat6/

link|improve this answer
/var/log/tomcat6/catalina.out doesn't exist and neither does the folder /usr/share/tomcat6/conf. /etc/tomcat6/logging.properties suggests that ${catalina.base}/logs is the directory i'm looking for but as I said, nothing is written there. Ho hum :( – gav Mar 30 '10 at 13:34
feedback

They should be at CATALINA_HOME/logs

I've seen it most often at /opt/tomcat/logs, but in your case it might be /usr/share/logs

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.