in log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java [135:205]
private Rfc5424Layout(final Configuration config, final Facility facility, final String id, final String ein,
final boolean includeMDC, final boolean includeNL, final String escapeNL, final String mdcId,
final String mdcPrefix, final String eventPrefix, final String appName, final String messageId,
final String excludes, final String includes, final String required, final Charset charset,
final String exceptionPattern, final boolean useTLSMessageFormat, final LoggerFields[] loggerFields) {
super(charset);
final PatternParser exceptionParser = createPatternParser(config, ThrowablePatternConverter.class);
exceptionFormatters = exceptionPattern == null ? null : exceptionParser.parse(exceptionPattern);
this.facility = facility;
this.defaultId = id == null ? DEFAULT_ID : id;
this.enterpriseNumber = ein;
this.includeMdc = includeMDC;
this.includeNewLine = includeNL;
this.escapeNewLine = escapeNL == null ? null : Matcher.quoteReplacement(escapeNL);
this.mdcId = mdcId != null ? mdcId : id == null ? DEFAULT_MDCID : id;
this.mdcSdId = new StructuredDataId(this.mdcId, enterpriseNumber, null, null);
this.mdcPrefix = mdcPrefix;
this.eventPrefix = eventPrefix;
this.appName = appName;
this.messageId = messageId;
this.useTlsMessageFormat = useTLSMessageFormat;
this.localHostName = NetUtils.getLocalHostname();
ListChecker checker = null;
if (excludes != null) {
final String[] array = excludes.split(Patterns.COMMA_SEPARATOR);
if (array.length > 0) {
mdcExcludes = new ArrayList<>(array.length);
for (final String str : array) {
mdcExcludes.add(str.trim());
}
checker = new ExcludeChecker(mdcExcludes);
} else {
mdcExcludes = null;
}
} else {
mdcExcludes = null;
}
if (includes != null) {
final String[] array = includes.split(Patterns.COMMA_SEPARATOR);
if (array.length > 0) {
mdcIncludes = new ArrayList<>(array.length);
for (final String str : array) {
mdcIncludes.add(str.trim());
}
checker = new IncludeChecker(mdcIncludes);
} else {
mdcIncludes = null;
}
} else {
mdcIncludes = null;
}
if (required != null) {
final String[] array = required.split(Patterns.COMMA_SEPARATOR);
if (array.length > 0) {
mdcRequired = new ArrayList<>(array.length);
for (final String str : array) {
mdcRequired.add(str.trim());
}
} else {
mdcRequired = null;
}
} else {
mdcRequired = null;
}
this.listChecker = checker != null ? checker : ListChecker.NOOP_CHECKER;
final String name = config == null ? null : config.getName();
configName = Strings.isNotEmpty(name) ? name : null;
this.fieldFormatters = createFieldFormatters(loggerFields, config);
this.procId = ProcessIdUtil.getProcessId();
}