Throwable.printStackTrace(...)
prints a throwable and its stack trace to some stream.
Loggers should be used instead to print throwables, as they have many advantages:
The following code:
try { /* ... */ } catch(Exception e) { e.printStackTrace(); // Non-Compliant }
should be refactored into:
try { /* ... */ } catch(Exception e) { LOGGER.log("context", e); // Compliant }