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
32 private final String literal;
33
34 private final Configuration config;
35
36 private final boolean substitute;
37
38
39
40
41
42
43
44
45
46 public LiteralPatternConverter(final Configuration config, final String literal, final boolean convertBackslashes) {
47 super("Literal", "literal");
48 this.literal = convertBackslashes ? OptionConverter.convertSpecialChars(literal) : literal;
49 this.config = config;
50 substitute = config != null && literal.contains("${");
51 }
52
53
54
55
56 @Override
57 public void format(final LogEvent event, final StringBuilder toAppendTo) {
58 toAppendTo.append(substitute ? config.getStrSubstitutor().replace(event, literal) : literal);
59 }
60
61
62
63
64 @Override
65 public void format(final Object obj, final StringBuilder output) {
66 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
67 }
68
69
70
71
72 @Override
73 public void format(final StringBuilder output, final Object... objects) {
74 output.append(substitute ? config.getStrSubstitutor().replace(literal) : literal);
75 }
76
77 public String getLiteral() {
78 return literal;
79 }
80
81 @Override
82 public boolean isVariable() {
83 return false;
84 }
85
86 @Override
87 public String toString() {
88 return "LiteralPatternConverter[literal=" + literal + ", config=" + config + ", substitute=" + substitute + "]";
89 }
90
91 }