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 import org.apache.logging.log4j.core.helpers.Assert;
23
24
25
26
27 public class AppenderAdmin implements AppenderAdminMBean {
28
29 private final String contextName;
30 private final Appender<?> appender;
31 private final ObjectName objectName;
32
33
34
35
36
37
38
39
40 public AppenderAdmin(String contextName, Appender<?> appender) {
41
42 this.contextName = Assert.isNotNull(contextName, "contextName");
43 this.appender = Assert.isNotNull(appender, "appender");
44 try {
45 String ctxName = Server.escape(this.contextName);
46 String configName = Server.escape(appender.getName());
47 String name = String.format(PATTERN, ctxName, configName);
48 objectName = new ObjectName(name);
49 } catch (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 appender.getName();
67 }
68
69 @Override
70 public String getLayout() {
71 return String.valueOf(appender.getLayout());
72 }
73
74 @Override
75 public boolean isExceptionSuppressed() {
76 return appender.isExceptionSuppressed();
77 }
78
79 @Override
80 public String getErrorHandler() {
81 return String.valueOf(appender.getHandler());
82 }
83 }