Design Partners
Migrate Log4j to SLF4J
** org.openrewrite.java.logging.slf4j.Log4jToSlf4j** Migrates usage of Apache Log4j to using SLF4J directly. Use of the traditional Log4j to SLF4J bridge can result in loss of performance, as the Log4j messages must be formatted before they can be passed to SLF4J. Note, this currently does not modify log4j.properties files.

Tags

  • slf4j
  • logging
  • log4j

Source

  • groupId: org.openrewrite.recipe
  • artifactId: rewrite-logging-frameworks
  • version: 1.8.0

Usage

This recipe has no required configuration options and can be activated directly after taking a dependency on org.openrewrite.recipe:rewrite-logging-frameworks:1.8.0 in your build file:
Gradle
Maven
build.gradle
1
plugins {
2
id("org.openrewrite.rewrite") version("5.22.2")
3
}
4
5
rewrite {
6
activeRecipe("org.openrewrite.java.logging.slf4j.Log4jToSlf4j")
7
}
8
9
repositories {
10
mavenCentral()
11
}
12
13
dependencies {
14
rewrite("org.openrewrite.recipe:rewrite-logging-frameworks:1.8.0")
15
}
Copied!
pom.xml
1
<project>
2
<build>
3
<plugins>
4
<plugin>
5
<groupId>org.openrewrite.maven</groupId>
6
<artifactId>rewrite-maven-plugin</artifactId>
7
<version>4.25.0</version>
8
<configuration>
9
<activeRecipes>
10
<recipe>org.openrewrite.java.logging.slf4j.Log4jToSlf4j</recipe>
11
</activeRecipes>
12
</configuration>
13
<dependencies>
14
<dependency>
15
<groupId>org.openrewrite.recipe</groupId>
16
<artifactId>rewrite-logging-frameworks</artifactId>
17
<version>1.8.0</version>
18
</dependency>
19
</dependencies>
20
</plugin>
21
</plugins>
22
</build>
23
</project>
Copied!
Recipes can also be activated directly from the command line by adding the argument -Drewrite.activeRecipesorg.openrewrite.java.logging.slf4j.Log4jToSlf4j

Definition

Recipe List
Yaml Recipe List
1
---
2
type: specs.openrewrite.org/v1beta/recipe
3
name: org.openrewrite.java.logging.slf4j.Log4jToSlf4j
4
displayName: Migrate Log4j to SLF4J
5
description: Migrates usage of Apache Log4j to using SLF4J directly. Use of the traditional Log4j to SLF4J bridge can result in loss of performance, as the Log4j messages must be formatted before they can be passed to SLF4J. Note, this currently does not modify `log4j.properties` files.
6
tags:
7
- slf4j
8
- logging
9
- log4j
10
recipeList:
11
- org.openrewrite.java.logging.slf4j.Log4j1ToSlf4j1
12
- org.openrewrite.maven.RemoveDependency:
13
groupId: org.apache.logging.log4j
14
artifactId: log4j-to-slf4j
15
- org.openrewrite.maven.UpgradeDependencyVersion:
16
groupId: org.apache.logging.log4j
17
artifactId: log4j-api
18
newVersion: latest.release
19
overrideManagedVersion: true
20
- org.openrewrite.maven.UpgradeDependencyVersion:
21
groupId: org.apache.logging.log4j
22
artifactId: log4j-core
23
newVersion: latest.release
24
overrideManagedVersion: true
25
- org.openrewrite.maven.AddDependency:
26
groupId: org.slf4j
27
artifactId: slf4j-api
28
version: latest.release
29
onlyIfUsing: org.apache.logging.log4j.*
30
- org.openrewrite.maven.AddDependency:
31
groupId: org.apache.logging.log4j
32
artifactId: log4j-slf4j-impl
33
version: latest.release
34
onlyIfUsing: org.apache.logging.log4j.*
35
- org.openrewrite.maven.AddDependency:
36
groupId: org.slf4j
37
artifactId: slf4j-api
38
version: latest.release
39
onlyIfUsing: org.apache.log4j.*
40
- org.openrewrite.maven.AddDependency:
41
groupId: org.apache.logging.log4j
42
artifactId: log4j-slf4j-impl
43
version: latest.release
44
onlyIfUsing: org.apache.log4j.*
Copied!
Export as PDF
Copy link