From 65565de1a8968d605d2f1fac4754d76c792a8444 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 20 Jan 2026 19:23:37 +0100 Subject: [PATCH] Prevent accidental printStackTrace() usage in main codebase Closes gh-36185 --- .../InvocationsRecorderClassTransformer.java | 5 ++++- src/checkstyle/checkstyle-suppressions.xml | 18 ++++++++------- src/checkstyle/checkstyle.xml | 22 ++++++++++--------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassTransformer.java b/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassTransformer.java index f75c545e907..79390fb5c24 100644 --- a/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassTransformer.java +++ b/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassTransformer.java @@ -44,6 +44,7 @@ class InvocationsRecorderClassTransformer implements ClassFileTransformer { private final String[] ignoredPackages; + public InvocationsRecorderClassTransformer(String[] instrumentedPackages, String[] ignoredPackages) { Assert.notNull(instrumentedPackages, "instrumentedPackages must not be null"); Assert.notNull(ignoredPackages, "ignoredPackages must not be null"); @@ -56,6 +57,7 @@ class InvocationsRecorderClassTransformer implements ClassFileTransformer { .toArray(String[]::new); } + @Override public byte[] transform(@Nullable ClassLoader classLoader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { @@ -102,7 +104,7 @@ class InvocationsRecorderClassTransformer implements ClassFileTransformer { fileReader.accept(classVisitor, 0); } catch (Exception ex) { - ex.printStackTrace(); + System.err.println("Failed to transform class: " + ex); return classfileBuffer; } if (classVisitor.isTransformed()) { @@ -110,4 +112,5 @@ class InvocationsRecorderClassTransformer implements ClassFileTransformer { } return classfileBuffer; } + } diff --git a/src/checkstyle/checkstyle-suppressions.xml b/src/checkstyle/checkstyle-suppressions.xml index ecaa04715c3..238747211a1 100644 --- a/src/checkstyle/checkstyle-suppressions.xml +++ b/src/checkstyle/checkstyle-suppressions.xml @@ -6,20 +6,21 @@ - + - - - - + + + + + - + @@ -45,8 +46,9 @@ - - + + + diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml index e6947f32357..c2b3d04f31d 100644 --- a/src/checkstyle/checkstyle.xml +++ b/src/checkstyle/checkstyle.xml @@ -57,8 +57,7 @@ - + @@ -127,8 +126,7 @@ - + @@ -225,21 +223,25 @@ + + + + + + + - + - - + +