exception messages now go to logger rather than System.err