
errorprone.bugpattern.flogger.FloggerWithoutCause.md Maven / Gradle / Ivy
The newest version!
Flogger uses `withCause(exception)` to associate Exceptions with log statements.
Passing exceptions directly to `log()` only records the name and message,
and loses the stack trace.
```java
logger.atWarning().log("Unexpected exception: %s", e);
```
```java
logger.atWarning().withCause(e).log("Unexpected exception");
```
If you intended not to log the stack trace or other parts of the exception, you
should explicitly log the parts you want to keep so the intent is clear in the
code:
```java
// Avoid withCause() since stack traces are unnecessary here
logger.atWarning().log("Unexpected exception [%s]: %s", e.getClass(), e.getMessage());
```
© 2015 - 2025 Weber Informatics LLC | Privacy Policy