1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.layout;
18
19 import java.nio.charset.Charset;
20
21 import org.apache.logging.log4j.core.LogEvent;
22 import org.apache.logging.log4j.util.Strings;
23
24 import com.fasterxml.jackson.core.JsonProcessingException;
25 import com.fasterxml.jackson.databind.ObjectWriter;
26
27 abstract class AbstractJacksonLayout extends AbstractStringLayout {
28
29 protected static final String DEFAULT_EOL = "\r\n";
30 protected static final String COMPACT_EOL = Strings.EMPTY;
31 protected final String eol;
32 protected final ObjectWriter objectWriter;
33 protected final boolean compact;
34 protected final boolean complete;
35
36 protected AbstractJacksonLayout(ObjectWriter objectWriter, Charset charset, boolean compact, boolean complete) {
37 super(charset);
38 this.objectWriter = objectWriter;
39 this.compact = compact;
40 this.complete = complete;
41 this.eol = compact ? COMPACT_EOL : DEFAULT_EOL;
42 }
43
44
45
46
47
48
49
50 @Override
51 public String toSerializable(final LogEvent event) {
52 try {
53 return this.objectWriter.writeValueAsString(event);
54 } catch (final JsonProcessingException e) {
55
56 LOGGER.error(e);
57 return Strings.EMPTY;
58 }
59 }
60
61 }