After upgrading a web application that uses velocity from java 5 to java 6, the web application has suddenly randomly stopped working, failing suddenly when run with the following exception:
Failed to initialize an instance of org.apache.velocity.runtime.log.ServletLogChute with the current runtime configuration.
Google shows that this error has something to do with logging being broken out the box:
Referring specifically to this comment in the code:
/* If the above failed, that means either the user specified a
- logging class that we can't find, there weren't the necessary
- dependencies in the classpath for it, or there were the same
- problems for the default loggers, log4j and Java1.4+.
- Since we really don't know and we want to be sure the user knows
- that something went wrong with the logging, let's fall back to the
- surefire SystemLogChute. No panicking or failing to log!!
It seems despite the code's best efforts, SystemLogChute is either broken or missing, and this breaks Velocity.
Please can you use a logging framework that isn't broken out the box (I do realise that most logging frameworks have been broken out the box for years, surely there is one that isn't completely useless, I live in hope).