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 java.util.Objects;
20
21 import javax.management.ObjectName;
22
23 import org.apache.logging.log4j.core.appender.AsyncAppender;
24
25
26
27
28 public class AsyncAppenderAdmin implements AsyncAppenderAdminMBean {
29
30 private final String contextName;
31 private final AsyncAppender asyncAppender;
32 private final ObjectName objectName;
33
34
35
36
37
38
39
40
41 public AsyncAppenderAdmin(final String contextName, final AsyncAppender appender) {
42
43 this.contextName = Objects.requireNonNull(contextName, "contextName");
44 this.asyncAppender = Objects.requireNonNull(appender, "async appender");
45 try {
46 final String ctxName = Server.escape(this.contextName);
47 final String configName = Server.escape(appender.getName());
48 final String name = String.format(PATTERN, ctxName, configName);
49 objectName = new ObjectName(name);
50 } catch (final Exception e) {
51 throw new IllegalStateException(e);
52 }
53 }
54
55
56
57
58
59
60
61 public ObjectName getObjectName() {
62 return objectName;
63 }
64
65 @Override
66 public String getName() {
67 return asyncAppender.getName();
68 }
69
70 @Override
71 public String getLayout() {
72 return String.valueOf(asyncAppender.getLayout());
73 }
74
75 @Override
76 public boolean isIgnoreExceptions() {
77 return asyncAppender.ignoreExceptions();
78 }
79
80 @Override
81 public String getErrorHandler() {
82 return String.valueOf(asyncAppender.getHandler());
83 }
84
85 @Override
86 public String getFilter() {
87 return String.valueOf(asyncAppender.getFilter());
88 }
89
90 @Override
91 public String[] getAppenderRefs() {
92 return asyncAppender.getAppenderRefStrings();
93 }
94
95
96
97
98
99
100
101 @Override
102 public boolean isIncludeLocation() {
103 return asyncAppender.isIncludeLocation();
104 }
105
106
107
108
109
110
111 @Override
112 public boolean isBlocking() {
113 return asyncAppender.isBlocking();
114 }
115
116
117
118
119
120 @Override
121 public String getErrorRef() {
122 return asyncAppender.getErrorRef();
123 }
124
125 @Override
126 public int getQueueCapacity() {
127 return asyncAppender.getQueueCapacity();
128 }
129
130 @Override
131 public int getQueueRemainingCapacity() {
132 return asyncAppender.getQueueRemainingCapacity();
133 }
134 }