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