Migrate SLF4J to Log4j 2.x API.
org.openrewrite.java.logging.log4j.Slf4jToLog4j
Transforms code written using SLF4J to use Log4j 2.x API.
Tags
slf4j
logging
log4j
Recipe source
GitHub, Issue Tracker, Maven Central
groupId: org.openrewrite.recipe
artifactId: rewrite-logging-frameworks
version: 2.6.0
This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above.
Usage
This recipe has no required configuration options. It can be activated by adding a dependency on org.openrewrite.recipe:rewrite-logging-frameworks:2.6.0
in your build file or by running a shell command (in which case no build changes are needed):
Add the following to your
build.gradle
file:
Run
gradle rewriteRun
to run the recipe.
Definition
Change method target to static
methodPattern:
org.slf4j.LoggerFactory getLogger(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.LogManager
Change method target to static
methodPattern:
org.slf4j.MarkerFactory getMarker(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.MarkerManager
Change method target to static
methodPattern:
org.slf4j.MDC putCloseable(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.CloseableThreadContext
methodPattern:
org.apache.logging.log4j.CloseableThreadContext putCloseable(..)
newMethodName:
put
Change method target to static
methodPattern:
org.slf4j.MDC clear(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.ThreadContext
methodPattern:
org.apache.logging.log4j.ThreadContext clear(..)
newMethodName:
clearAll
Change method target to static
methodPattern:
org.slf4j.MDC put(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.ThreadContext
Change method target to static
methodPattern:
org.slf4j.MDC get(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.ThreadContext
Change method target to static
methodPattern:
org.slf4j.MDC remove(..)
fullyQualifiedTargetTypeName:
org.apache.logging.log4j.ThreadContext
methodPattern:
org.slf4j.spi.LoggingEventBuilder addMarker(..)
newMethodName:
withMarker
methodPattern:
org.slf4j.spi.LoggingEventBuilder setCause(..)
newMethodName:
withThrowable
oldFullyQualifiedTypeName:
org.slf4j.Logger
newFullyQualifiedTypeName:
org.apache.logging.log4j.Logger
oldFullyQualifiedTypeName:
org.slf4j.event.Level
newFullyQualifiedTypeName:
org.apache.logging.log4j.Level
oldFullyQualifiedTypeName:
org.slf4j.spi.LoggingEventBuilder
newFullyQualifiedTypeName:
org.apache.logging.log4j.LogBuilder
oldFullyQualifiedTypeName:
org.slf4j.Marker
newFullyQualifiedTypeName:
org.apache.logging.log4j.Marker
oldFullyQualifiedTypeName:
org.slf4j.MDC.MDCCloseable
newFullyQualifiedTypeName:
org.apache.logging.log4j.CloseableThreadContext.Instance
oldFullyQualifiedTypeName:
org.slf4j.MDC
newFullyQualifiedTypeName:
org.apache.logging.log4j.CloseableThreadContext
Change Gradle or Maven dependency
oldGroupId:
org.slf4j
oldArtifactId:
slf4j-api
newGroupId:
org.apache.logging.log4j
newArtifactId:
log4j-api
newVersion:
latest.release
Replace any Lombok log annotations with target logging framework annotation
loggingFramework:
Log4j2
See how this recipe works across multiple open-source repositories
The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.
Contributors
Last updated