Chapter 8. Debugging and Troubleshooting

Troubleshooting application servers can be intimidating. In this chapter, we show you some ways to look for information that will help you find out why things aren’t working, and give examples of mistakes we and others have made in which it was not immediately obvious where the error occurred. We also discuss why Tomcat may not shut down gracefully and what you can do about this common problem, as well as discuss ways of preventing abnormal shutdowns from recurring.

Reading Log Files

Tomcat’s logging is quite configurable, and it is a great help in diagnosing problems. Every element in the server.xml file that has a debug attribute can be configured to log information to log files (or to not log at all). Set the debug attribute’s value to zero (0) to make the object not log anything, or set it to one (1) or a higher integer value to turn logging on—the higher the number, the more verbose the logging information. Set the debug level as high as you want because if you set it to higher numbers than the object recognizes, it will just assume you want the highest verbosity level it knows how to log.


Some objects notice log levels at 9 or potentially higher, but most notice levels only as high as 3.

If you’re having problems with Tomcat and you’re not seeing any hints in the log files, it’s probably a good idea to turn up some of the logging levels and try again. First, make a backup copy of your server.xml file:

$ cd $CATALINA_HOME/conf $ cp ...

Get Tomcat: The Definitive Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.