1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.config;
18
19 import org.apache.logging.log4j.Logger;
20 import org.apache.logging.log4j.core.config.plugins.Plugin;
21 import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
22 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
23 import org.apache.logging.log4j.core.config.plugins.PluginValue;
24 import org.apache.logging.log4j.status.StatusLogger;
25
26
27
28
29 @Plugin(name = "property", category = "Core", printObject = true)
30 public final class Property {
31
32 private static final Logger LOGGER = StatusLogger.getLogger();
33
34 private final String name;
35 private final String value;
36
37 private Property(final String name, final String value) {
38 this.name = name;
39 this.value = value;
40 }
41
42
43
44
45
46 public String getName() {
47 return name;
48 }
49
50
51
52
53
54 public String getValue() {
55 return value;
56 }
57
58
59
60
61
62
63
64 @PluginFactory
65 public static Property createProperty(
66 @PluginAttribute("name") final String key,
67 @PluginValue("value") final String value) {
68 if (key == null) {
69 LOGGER.error("Property key cannot be null");
70 }
71 return new Property(key, value);
72 }
73
74 @Override
75 public String toString() {
76 return name + "=" + value;
77 }
78 }