We should try and pass the exception itself into log_halt as it will log the backtrace at debug level if the Exception is passed in.  Maybe we should extend log_halt to take a message and exception separately?