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
}