Your logging framework should have the ability to log exceptions, so simply passing the exception to the proper .error(Object, Throwable) call should be enough:
- log4j can do it
- commons logging can do it
java.util.loggingcan do it
If your logging framework can’t do that, or you need the stack trace in a String for any other reason, then it becomes a bit harder. You’ll have to create a PrintWriter wrapping a StringWriter and call .printStackTrace() on the Exception:
StringWriter sw = new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
String stacktrace = sw.toString();