Migrate Log4j 2.x Layout to logback-classic equivalents
org.openrewrite.java.logging.logback.Log4jLayoutToLogback
Migrates custom Log4j 2.x Layout components to logback-classic
. This recipe operates on the following assumptions: 1. A logback-classic layout must extend the LayoutBase<ILoggingEvent>
class. 2. log4j's format()
is renamed to doLayout()
in a logback-classic layout. 3. LoggingEvent getRenderedMessage()
is converted to LoggingEvent getMessage()
. 4. The log4j ignoresThrowable() method is not needed and has no equivalent in logback-classic. 5. The activateOptions() method merits further discussion. In log4j, a layout will have its activateOptions() method invoked by log4j configurators, that is PropertyConfigurator or DOMConfigurator just after all the options of the layout have been set. Thus, the layout will have an opportunity to check that its options are coherent and if so, proceed to fully initialize itself. 6. In logback-classic, layouts must implement the LifeCycle interface which includes a method called start(). The start() method is the equivalent of log4j's activateOptions() method. For more details, see this page from logback: Migration from log4j
.
Recipe source
GitHub, Issue Tracker, Maven Central
groupId: org.openrewrite.recipe
artifactId: rewrite-logging-frameworks
version: 2.6.0
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.
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
Aaron Gershman, Jonathan Schneider, Knut Wannheden, Patrick Way
Last updated