| package org.apache.logging.log4j.jackson.json.layout; |
| |
| import org.apache.logging.log4j.jackson.AbstractJacksonFactory; |
| import org.apache.logging.log4j.jackson.JsonConstants; |
| import org.apache.logging.log4j.jackson.json.Log4jJsonObjectMapper; |
| |
| import com.fasterxml.jackson.core.PrettyPrinter; |
| import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; |
| import com.fasterxml.jackson.core.util.MinimalPrettyPrinter; |
| import com.fasterxml.jackson.databind.ObjectMapper; |
| |
| class JsonJacksonFactory extends AbstractJacksonFactory { |
| |
| private final boolean encodeThreadContextAsList; |
| private final boolean objectMessageAsJsonObject; |
| |
| public JsonJacksonFactory(final boolean encodeThreadContextAsList, final boolean includeStacktrace, |
| final boolean stacktraceAsString, final boolean objectMessageAsJsonObject) { |
| super(includeStacktrace, stacktraceAsString); |
| this.encodeThreadContextAsList = encodeThreadContextAsList; |
| this.objectMessageAsJsonObject = objectMessageAsJsonObject; |
| } |
| |
| @Override |
| protected String getPropertyNameForContextMap() { |
| return JsonConstants.ELT_CONTEXT_MAP; |
| } |
| |
| @Override |
| protected String getPropertyNameForTimeMillis() { |
| return JsonConstants.ELT_TIME_MILLIS; |
| } |
| |
| @Override |
| protected String getPropertyNameForInstant() { |
| return JsonConstants.ELT_INSTANT; |
| } |
| |
| @Override |
| protected String getPropertyNameForNanoTime() { |
| return JsonConstants.ELT_NANO_TIME; |
| } |
| |
| @Override |
| protected String getPropertyNameForSource() { |
| return JsonConstants.ELT_SOURCE; |
| } |
| |
| @Override |
| protected String getPropertyNameForStackTrace() { |
| return JsonConstants.ELT_EXTENDED_STACK_TRACE; |
| } |
| |
| @Override |
| protected PrettyPrinter newCompactPrinter() { |
| return new MinimalPrettyPrinter(); |
| } |
| |
| @Override |
| protected ObjectMapper newObjectMapper() { |
| return new Log4jJsonObjectMapper(encodeThreadContextAsList, includeStacktrace, stacktraceAsString, |
| objectMessageAsJsonObject); |
| } |
| |
| @Override |
| protected PrettyPrinter newPrettyPrinter() { |
| return new DefaultPrettyPrinter(); |
| } |
| |
| } |