public String format()

in jul-ecs-formatter/src/main/java/co/elastic/logging/jul/EcsFormatter.java [66:94]


    public String format(final LogRecord record) {
        final StringBuilder builder = new StringBuilder();
        EcsJsonSerializer.serializeObjectStart(builder, record.getMillis());
        EcsJsonSerializer.serializeLogLevel(builder, record.getLevel().getName());
        EcsJsonSerializer.serializeFormattedMessage(builder, super.formatMessage(record));
        EcsJsonSerializer.serializeEcsVersion(builder);
        EcsJsonSerializer.serializeAdditionalFields(builder, additionalFields);
        EcsJsonSerializer.serializeMDC(builder, getMdcEntries());
        EcsJsonSerializer.serializeServiceName(builder, serviceName);
        EcsJsonSerializer.serializeServiceVersion(builder, serviceVersion);
        EcsJsonSerializer.serializeServiceEnvironment(builder, serviceEnvironment);
        EcsJsonSerializer.serializeServiceNodeName(builder, serviceNodeName);
        EcsJsonSerializer.serializeEventDataset(builder, eventDataset);
        if (Thread.currentThread().getId() == record.getThreadID()) {
            EcsJsonSerializer.serializeThreadName(builder, Thread.currentThread().getName());
        } else {
            EcsJsonSerializer.serializeThreadId(builder, record.getThreadID());
        }
        EcsJsonSerializer.serializeLoggerName(builder, record.getLoggerName());
        if (includeOrigin && record.getSourceClassName() != null && record.getSourceMethodName() != null) {
            EcsJsonSerializer.serializeOrigin(builder, buildFileName(record.getSourceClassName()), record.getSourceMethodName(), -1);
        }
        final Throwable throwableInformation = record.getThrown();
        if (throwableInformation != null) {
            EcsJsonSerializer.serializeException(builder, throwableInformation, stackTraceAsArray);
        }
        EcsJsonSerializer.serializeObjectEnd(builder);
        return builder.toString();
    }