I use a custom exception handler and log the error prior to ColdBox redirecting to the custom error template.
var exceptionBean = event.getValue(“ExceptionBean”);
This also gives you the ability to “recover” from certain errors by doing your own setNextEvent() which will override your custom error template. It also allows you to decide whether or not you wish to log the error. For instance, my app throws a “session is expired” error in the shopping cart based on certain criteria. I check for it here and redirect to a more meaningful page explaining that their cart has timed out.