1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.logging.log4j.core.config.plugins.visitors;
19
20 import org.apache.logging.log4j.core.LogEvent;
21 import org.apache.logging.log4j.core.config.Configuration;
22 import org.apache.logging.log4j.core.config.Node;
23 import org.apache.logging.log4j.core.config.plugins.PluginValue;
24
25
26
27
28 public class PluginValueVisitor extends AbstractPluginVisitor<PluginValue> {
29 public PluginValueVisitor() {
30 super(PluginValue.class);
31 }
32
33 @Override
34 public Object visit(final Configuration configuration, final Node node, final LogEvent event,
35 final StringBuilder log) {
36 final String name = this.annotation.value();
37 final String rawValue = node.getValue() != null ? node.getValue() :
38 removeAttributeValue(node.getAttributes(), "value");
39 final String value = this.substitutor.replace(event, rawValue);
40 log.append(name).append("=\"").append(value).append('"');
41 return value;
42 }
43 }