Skip to content

Commit 10726a2

Browse files
committed
Fixed Logger handling....
1 parent 7f252a9 commit 10726a2

1 file changed

Lines changed: 21 additions & 19 deletions

File tree

src/main/java/org/mangorage/mangobotlaunch/launch/ClassTransformers.java

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,54 +32,56 @@ void add(IClassTransformer transformer) {
3232
}
3333

3434
byte[] transform(String name, byte[] classData) {
35-
if (name.contains("MangoLogger")) {
36-
ILoggerFactory.getDefault().getProvider("default").getLogger(ClassTransformers.class).info("Skipping transformation for {0} to avoid potential logging issues", name);
37-
return null;
35+
if (name == null || name.contains("MangoLogger") || name.contains("slf4j")) {
36+
System.out.printf("Skipping transformation for %s to avoid potential logging issues%n", name);
37+
return classData;
3838
}
3939

40+
41+
final var logger = LOGGER.get(); // single reference at the top
42+
4043
if (transformers.isEmpty()) {
41-
LOGGER.get().info("No transformers registered for class: {0}", name);
42-
return null;
44+
logger.info("No transformers registered for class: {0}", name);
45+
return classData;
4346
}
4447

4548
ITransformerResultHistory previous = null;
46-
List<ITransformerResultHistory> historyList = DEBUG_CLASS_TRANSFORMING ? transformerHistoryCache.computeIfAbsent(name, k -> new CopyOnWriteArrayList<>()) : null;
49+
List<ITransformerResultHistory> historyList = DEBUG_CLASS_TRANSFORMING
50+
? transformerHistoryCache.computeIfAbsent(name, k -> new CopyOnWriteArrayList<>())
51+
: null;
4752

4853
for (IClassTransformer transformer : transformers) {
49-
5054
TransformResult result = transformer.transform(name, classData);
5155

5256
if (DEBUG_CLASS_TRANSFORMING) {
53-
54-
// create and store the history entry
5557
TransformerHistoryEntry entry = new TransformerHistoryEntry(
5658
transformer.getClass(),
5759
transformer.getName(),
5860
result.flag(),
59-
classData, // original data before this transformer
60-
result.classData(), // result of this transformer
61-
previous // previous history entry
61+
classData,
62+
result.classData(),
63+
previous
6264
);
6365

6466
historyList.add(entry);
65-
previous = entry; // update previous for the next iteration
67+
previous = entry;
6668

67-
LOGGER.get().info("Transformer history recorded for {0} using {1}", new Object[]{name, transformer.getName()});
69+
logger.info("Transformer history recorded for {0} using {1}",
70+
new Object[]{name, transformer.getName()});
6871
}
6972

7073
if (result.flag() != TransformerFlag.NO_REWRITE) {
71-
LOGGER.get().info("Class {0} transformed by {1}", new Object[]{name, transformer.getName()});
74+
logger.info("Class {0} transformed by {1}", new Object[]{name, transformer.getName()});
7275
return result.classData();
7376
}
74-
75-
// currentData remains the same if NO_REWRITE
7677
}
7778

78-
LOGGER.get().info("No transformation applied to class: {0}", name);
79-
return null;
79+
logger.info("No transformation applied to class: {0}", name);
80+
return classData;
8081
}
8182

8283

84+
8385
@Override
8486
public List<ITransformerResultHistory> getHistory(String className) {
8587
if (!DEBUG_CLASS_TRANSFORMING || transformerHistoryCache == null) {

0 commit comments

Comments
 (0)