private EcsLayout()

in log4j2-ecs-layout/src/main/java/co/elastic/logging/log4j2/EcsLayout.java [83:113]


    private EcsLayout(Configuration config, String serviceName, String serviceVersion, String serviceEnvironment, String serviceNodeName, String eventDataset, boolean includeMarkers,
                      KeyValuePair[] additionalFields, boolean includeOrigin, String exceptionPattern, boolean stackTraceAsArray, String mdcSerializerFullClassName) {
        super(config, UTF_8, null, null);
        this.serviceName = serviceName;
        this.serviceVersion = serviceVersion;
        this.serviceEnvironment = serviceEnvironment;
        this.serviceNodeName = serviceNodeName;
        this.eventDataset = eventDataset;
        this.includeMarkers = includeMarkers;
        this.includeOrigin = includeOrigin;
        this.stackTraceAsArray = stackTraceAsArray;
        this.additionalFields = additionalFields;
        fieldValuePatternFormatter = new PatternFormatter[additionalFields.length][];
        for (int i = 0; i < additionalFields.length; i++) {
            KeyValuePair additionalField = additionalFields[i];
            if (additionalField.getValue().contains("%")) {
                fieldValuePatternFormatter[i] = PatternLayout.createPatternParser(config)
                        .parse(additionalField.getValue())
                        .toArray(new PatternFormatter[0]);
            }
        }

        if (exceptionPattern != null && !exceptionPattern.isEmpty()) {
            exceptionPatternFormatter = PatternLayout.createPatternParser(config)
                    .parse(exceptionPattern)
                    .toArray(new PatternFormatter[0]);
        } else {
            exceptionPatternFormatter = null;
        }
        mdcSerializer = MdcSerializerResolver.resolve(mdcSerializerFullClassName);
    }