1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.pattern;
18
19 import org.apache.logging.log4j.core.LogEvent;
20 import org.apache.logging.log4j.core.config.Configuration;
21 import org.apache.logging.log4j.core.util.OptionConverter;
22
23
24
25
26
27 public final class LiteralPatternConverter extends LogEventPatternConverter implements ArrayPatternConverter {
28
29
30
31 private final String literal;
32
33 private final Configuration config;
34
35 private final boolean substitute;
36
37
38
39
40
41
42
43 public LiteralPatternConverter(final Configuration config, final String literal) {
44 super("Literal", "literal");
45 this.literal = OptionConverter.convertSpecialChars(literal);
46 this.config = config;
47 substitute = config != null && literal.contains("${");
48 }
49
50
51
52
53 @Override
54 public void format(final LogEvent event, final StringBuilder toAppendTo) {
55 toAppendTo.append(substitute ? config.getStrSubstitutor().replace(event, literal) : literal);
56 }
57
58
59
60
61 @Override
62 public void format(final Object obj, final StringBuilder output) {
63 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
64 }
65
66
67
68
69 @Override
70 public void format(final StringBuilder output, final Object... objects) {
71 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
72 }
73
74 public String getLiteral() {
75 return literal;
76 }
77 }