1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.pattern;
18
19 import org.apache.logging.log4j.core.LogEvent;
20 import org.apache.logging.log4j.core.config.plugins.Plugin;
21 import org.apache.logging.log4j.core.pattern.ConverterKeys;
22 import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
23 import org.apache.logging.log4j.core.pattern.PatternConverter;
24 import org.apache.logging.log4j.util.Strings;
25
26 import java.util.List;
27
28
29
30
31
32 @Plugin(name = "Log4j1NdcPatternConverter", category = PatternConverter.CATEGORY)
33 @ConverterKeys({ "ndc" })
34 public final class Log4j1NdcPatternConverter extends LogEventPatternConverter {
35
36
37
38 private static final Log4j1NdcPatternConverter INSTANCE =
39 new Log4j1NdcPatternConverter();
40
41
42
43
44 private Log4j1NdcPatternConverter() {
45 super("Log4j1NDC", "ndc");
46 }
47
48
49
50
51
52
53
54 public static Log4j1NdcPatternConverter newInstance(final String[] options) {
55 return INSTANCE;
56 }
57
58 @Override
59 public void format(final LogEvent event, final StringBuilder toAppendTo) {
60 final List<String> ndc = event.getContextStack().asList();
61 toAppendTo.append(Strings.join(ndc, ' '));
62 }
63 }