|
18 | 18 | package org.apache.ignite.logger.log4j2; |
19 | 19 |
|
20 | 20 | import java.io.File; |
21 | | -import java.lang.reflect.Field; |
22 | 21 | import java.net.URL; |
23 | 22 | import java.nio.charset.Charset; |
24 | 23 | import java.util.Map; |
@@ -234,27 +233,18 @@ static void cleanup() { |
234 | 233 | return ((RollingFileAppender)a).getFileName(); |
235 | 234 |
|
236 | 235 | if (a instanceof RoutingAppender) { |
237 | | - try { |
238 | | - RoutingAppender routing = (RoutingAppender)a; |
| 236 | + RoutingAppender routing = (RoutingAppender)a; |
239 | 237 |
|
240 | | - Field appsFiled = routing.getClass().getDeclaredField("appenders"); |
| 238 | + Map<String, AppenderControl> appenders = routing.getAppenders(); |
241 | 239 |
|
242 | | - appsFiled.setAccessible(true); |
| 240 | + for (AppenderControl control : appenders.values()) { |
| 241 | + Appender innerApp = control.getAppender(); |
243 | 242 |
|
244 | | - Map<String, AppenderControl> appenders = (Map<String, AppenderControl>)appsFiled.get(routing); |
| 243 | + if (innerApp instanceof FileAppender) |
| 244 | + return normalize(((FileAppender)innerApp).getFileName()); |
245 | 245 |
|
246 | | - for (AppenderControl control : appenders.values()) { |
247 | | - Appender innerApp = control.getAppender(); |
248 | | - |
249 | | - if (innerApp instanceof FileAppender) |
250 | | - return normalize(((FileAppender)innerApp).getFileName()); |
251 | | - |
252 | | - if (innerApp instanceof RollingFileAppender) |
253 | | - return normalize(((RollingFileAppender)innerApp).getFileName()); |
254 | | - } |
255 | | - } |
256 | | - catch (IllegalAccessException | NoSuchFieldException e) { |
257 | | - error("Failed to get file name (was the implementation of log4j2 changed?).", e); |
| 246 | + if (innerApp instanceof RollingFileAppender) |
| 247 | + return normalize(((RollingFileAppender)innerApp).getFileName()); |
258 | 248 | } |
259 | 249 | } |
260 | 250 | } |
|
0 commit comments