1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.jmx;
18
19 import javax.management.ObjectName;
20
21 import org.apache.logging.log4j.core.Appender;
22
23
24
25
26 public class AppenderAdmin implements AppenderAdminMBean {
27
28 private final String contextName;
29 private final Appender<?> appender;
30 private final ObjectName objectName;
31
32
33
34
35
36
37
38
39 public AppenderAdmin(String contextName, Appender<?> appender) {
40
41 this.contextName = Assert.isNotNull(contextName, "contextName");
42 this.appender = Assert.isNotNull(appender, "appender");
43 try {
44 String ctxName = Server.escape(this.contextName);
45 String configName = Server.escape(appender.getName());
46 String name = String.format(PATTERN, ctxName, configName);
47 objectName = new ObjectName(name);
48 } catch (Exception e) {
49 throw new IllegalStateException(e);
50 }
51 }
52
53
54 public ObjectName getObjectName() {
55 return objectName;
56 }
57
58 @Override
59 public String getName() {
60 return appender.getName();
61 }
62
63 @Override
64 public String getLayout() {
65 return String.valueOf(appender.getLayout());
66 }
67
68 @Override
69 public boolean isExceptionSuppressed() {
70 return appender.isExceptionSuppressed();
71 }
72
73 @Override
74 public String getErrorHandler() {
75 return String.valueOf(appender.getHandler());
76 }
77 }