findbugs-slf4j icon indicating copy to clipboard operation
findbugs-slf4j copied to clipboard

RFE: SLF4J_ONLY

Open vorburger opened this issue 7 years ago • 1 comments

In a large project, it can be useful to enforce that everyone is actually using slf4j and not (directly) log4j (v1/v2) or JUL etc.

A new detector checking that any field / import of a type with simple name Logger must be the org.slf4j.Logger can help with this. This is, of course, "just" a kind of "heuristic", but because in e.g. Log4j and JUL and even other project specific logging frameworks (think e.g. io.vertx.core.logging.Logger and what not), such utilities typically are actually named Logger as well, this works quite well in practice.

FYI https://github.com/opendaylight/yangtools/blob/master/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerMustBeSlf4jCheck.java

vorburger avatar Jan 30 '18 13:01 vorburger

one can achieve something similar using Checkstyle's IllegalImport like so:

<module name="IllegalImport">
    <property name="illegalPkgs" value="sun, java.util.logging"/>
</module>

vorburger avatar Aug 24 '18 12:08 vorburger