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
44
45 public LiteralPatternConverter(final Configuration config, final String literal, final boolean convertBackslashes) {
46 super("Literal", "literal");
47 this.literal = convertBackslashes ? OptionConverter.convertSpecialChars(literal) : literal;
48 this.config = config;
49 substitute = config != null && literal.contains("${");
50 }
51
52
53
54
55 @Override
56 public void format(final LogEvent event, final StringBuilder toAppendTo) {
57 toAppendTo.append(substitute ? config.getStrSubstitutor().replace(event, literal) : literal);
58 }
59
60
61
62
63 @Override
64 public void format(final Object obj, final StringBuilder output) {
65 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
66 }
67
68
69
70
71 @Override
72 public void format(final StringBuilder output, final Object... objects) {
73 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
74 }
75
76 public String getLiteral() {
77 return literal;
78 }
79 }