As suggested in the comments for
"use so called Monitors.
It means: use events to inform "subscribed" events listeners about something "interesting" which occurs inside velocity engine - e.g "template loaded", "parsing error" etc.
Then if somebody is willing to log those events to log file - he can very easily create event listener(s) (probably just one class!!) which will log incoming events using what ever logging API he/she wishes."