File 0002-Invoke-logback-via-reflection.patch of Package maven (Revision c1e0896cca1eedaed0bb8102909c39c0)
Currently displaying revision c1e0896cca1eedaed0bb8102909c39c0 , Show latest
52
1
From d1e6e9bcce8553e85957987d05d28583fcb55fdf Mon Sep 17 00:00:00 2001
2
From: Michael Simacek <msimacek@redhat.com>
3
Date: Tue, 6 Jun 2017 13:47:43 +0200
4
Subject: [PATCH 2/4] Invoke logback via reflection
5
6
---
7
.../cli/logging/impl/LogbackConfiguration.java | 18 +++++++++++++-----
8
1 file changed, 13 insertions(+), 5 deletions(-)
9
10
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java
11
index 4dc5a37b8..a977ba085 100644
12
--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java
13
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java
14
15
public class LogbackConfiguration extends BaseSlf4jConfiguration {
16
@Override
17
public void setRootLoggerLevel(Level level) {
18
- ch.qos.logback.classic.Level value;
19
+ String value;
20
switch (level) {
21
case DEBUG:
22
- value = ch.qos.logback.classic.Level.DEBUG;
23
+ value = "DEBUG";
24
break;
25
26
case INFO:
27
- value = ch.qos.logback.classic.Level.INFO;
28
+ value = "INFO";
29
break;
30
31
default:
32
- value = ch.qos.logback.classic.Level.ERROR;
33
+ value = "ERROR";
34
break;
35
}
36
- ((ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)).setLevel(value);
37
+ Logger logger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
38
+ try {
39
+ Class<?> levelClass = Class.forName("ch.qos.logback.classic.Level");
40
+ Object logbackLevel = levelClass.getField(value).get(null);
41
+ Class<?> loggerClass = Class.forName("ch.qos.logback.classic.Logger");
42
+ loggerClass.getMethod("setLevel", new Class<?>[] {levelClass}).invoke(logger, new Object[] {logbackLevel});
43
+ } catch (Exception e) {
44
+ throw new RuntimeException("Failed to initialize logback configuration", e);
45
+ }
46
}
47
48
@Override
49
--
50
2.40.1
51
52