Logging call not guarded by log condition
Reports logging calls that are not surrounded by a guard condition. The evaluation of a call's arguments can be expensive. Surrounding a logging call with a guard clause prevents that cost when logging is disabled for the level used by the logging statement. This is especially useful for the least serious level (trace, debug, finest) of logging calls, because those are most often disabled in a production environment.
Example:
public class TestObject {
void test(Object object) {
LOG.debug("some logging " + expensiveCalculation(1));
}
}
After a quick-fix is applied:
public class TestObject {
void test(Object object) {
if(LOG.isDebugEnabled()){
LOG.debug("some logging " + expensiveCalculation(1));
}
}
}
This inspection supports Log4j2 and the SLF4J logging frameworks (except builders).
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
LogStatementNotGuardedByLogCondition
New in 2024.2
Here you can find the description of settings available for the Logging call not guarded by log condition inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!