Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openrewrite/rewrite-logging-frameworks
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.18.0
Choose a base ref
...
head repository: openrewrite/rewrite-logging-frameworks
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.18.1
Choose a head ref
  • 3 commits
  • 5 files changed
  • 4 contributors

Commits on Dec 19, 2024

  1. Drop contextSensitive() from JavaTemplate to fix compilation (#203)

    timtebeek authored Dec 19, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    d2iq-dispatch D2iQ Dispatch
    Copy the full SHA
    8dc20c7 View commit details

Commits on Dec 20, 2024

  1. Remove log4j from runtime classpath as it is only needed to generate …

    …a recipe from a refaster template (#204)
    
    * Remove log4j from runtime classpath as it is only needed to generate a recipe from a refaster template
    
    This does not yet work as expected in the test
    
    * Add testRuntimeOnly for now, with TODO on Refaster classpath
    
    * Add missing trailing brace
    
    ---------
    
    Co-authored-by: Tim te Beek <[email protected]>
    pstreef and timtebeek authored Dec 20, 2024
    Copy the full SHA
    8bf0aa2 View commit details
  2. refactor: Update Gradle wrapper

    2 people authored and app committed Dec 20, 2024
    Copy the full SHA
    7599254 View commit details
6 changes: 5 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -31,7 +31,6 @@ dependencies {
implementation("org.openrewrite.recipe:rewrite-static-analysis:${rewriteVersion}")
runtimeOnly("org.openrewrite:rewrite-java-17")

implementation("log4j:log4j:1.+")
implementation("org.apache.logging.log4j:log4j-core:2.+")
implementation("org.slf4j:slf4j-api:2.+")

@@ -41,6 +40,11 @@ dependencies {
exclude("com.google.auto.service", "auto-service-annotations")
}

compileOnly("log4j:log4j:1.+") {
because("log4j 1 has critical vulnerabilities but we need the type for the refaster recipe during compilation")
}
testRuntimeOnly("log4j:log4j:1.+") // Necessary to match for now; explore alternatives for Refaster classpath in the future

testImplementation("org.junit.jupiter:junit-jupiter-api:latest.release")
testImplementation("org.junit.jupiter:junit-jupiter-params:latest.release")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:latest.release")
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionSha256Sum=f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6
distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03
17 changes: 4 additions & 13 deletions src/main/java/org/openrewrite/java/logging/LoggingFramework.java
Original file line number Diff line number Diff line change
@@ -53,37 +53,28 @@ public JavaTemplate getErrorTemplate(String message, ExecutionContext ctx) {
case SLF4J:
return JavaTemplate
.builder("#{any(org.slf4j.Logger)}.error(" + message + ", #{any(java.lang.Throwable)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "slf4j-api-2.1"))
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "slf4j-api-2.1"))
.build();
case Log4J1:
return JavaTemplate
.builder("#{any(org.apache.log4j.Category)}.error(" + message + ", #{any(java.lang.Throwable)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "log4j-1.2"))
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "log4j-1.2"))
.build();

case Log4J2:
return JavaTemplate
.builder("#{any(org.apache.logging.log4j.Logger)}.error(" + message + ", #{any(java.lang.Throwable)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "log4j-api-2.23"))
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "log4j-api-2.23"))
.build();
case COMMONS:
return JavaTemplate
.builder("#{any(org.apache.commons.logging.Log)}.error(" + message + ", #{any(java.lang.Throwable)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "commons-logging-1.3"))
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "commons-logging-1.3"))
.build();
case JUL:
default:
return JavaTemplate
.builder("#{any(java.util.logging.Logger)}.log(Level.SEVERE, " + message + ", #{any(java.lang.Throwable)})")
.contextSensitive()
.imports("java.util.logging.Level")
.build();
}
21 changes: 7 additions & 14 deletions src/main/java/org/openrewrite/java/logging/SystemErrToLogging.java
Original file line number Diff line number Diff line change
@@ -193,31 +193,24 @@ public JavaTemplate getErrorTemplateNoException(ExecutionContext ctx) {
switch (framework) {
case SLF4J:
return JavaTemplate
.builder("#{any(org.slf4j.Logger)}.error(#{any(String)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "slf4j-api-2.1"))
.builder("#{any(org.slf4j.Logger)}.error(#{any(String)});")
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "slf4j-api-2.1"))
.build();
case Log4J1:
return JavaTemplate
.builder("#{any(org.apache.log4j.Category)}.error(#{any(String)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "log4j-1.2"))
.builder("#{any(org.apache.log4j.Category)}.error(#{any(String)});")
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "log4j-1.2"))
.build();

case Log4J2:
return JavaTemplate
.builder("#{any(org.apache.logging.log4j.Logger)}.error(#{any(String)})")
.contextSensitive()
.javaParser(JavaParser.fromJavaVersion()
.classpathFromResources(ctx, "log4j-api-2.23"))
.builder("#{any(org.apache.logging.log4j.Logger)}.error(#{any(String)});")
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "log4j-api-2.23"))
.build();
case JUL:
default:
return JavaTemplate
.builder("#{any(java.util.logging.Logger)}.log(Level.SEVERE, #{any(String)})")
.contextSensitive()
.builder("#{any(java.util.logging.Logger)}.log(Level.SEVERE, #{any(String)});")
.imports("java.util.logging.Level")
.build();
}
Original file line number Diff line number Diff line change
@@ -17,7 +17,6 @@

import org.junit.jupiter.api.Test;
import org.openrewrite.DocumentExample;
import org.openrewrite.InMemoryExecutionContext;
import org.openrewrite.Issue;
import org.openrewrite.java.JavaParser;
import org.openrewrite.test.RecipeSpec;
@@ -35,8 +34,7 @@ class Log4j1ToLog4j2Test implements RewriteTest {
@Override
public void defaults(RecipeSpec spec) {
spec.recipeFromResource("/META-INF/rewrite/log4j.yml", "org.openrewrite.java.logging.log4j.Log4j1ToLog4j2")
.parser(JavaParser.fromJavaVersion()
.classpathFromResources(new InMemoryExecutionContext(), "log4j-1.2"));
.parser(JavaParser.fromJavaVersion().classpath("log4j"));
}

@DocumentExample