src/main/java/com/arpnetworking/logback/serialization/steno/ListsSerialziationStrategy.java
public String serialize(
            final ILoggingEvent event,
            final String eventName,
            @Nullable final List<String> dataKeys,
            @Nullable final List<Object> dataValues,
            @Nullable final List<String> contextKeys,
            @Nullable final List<Object> contextValues)
            throws Exception {

        final StringWriter jsonWriter = new StringWriter();
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);

        // Start wrapper
        StenoSerializationHelper.startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        StenoSerializationHelper.writeKeyValuePairs(dataKeys, dataValues, jsonGenerator, _objectMapper, _encoder);
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        StenoSerializationHelper.writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        StenoSerializationHelper.endStenoWrapper(event, eventName, contextKeys, contextValues, jsonGenerator, _objectMapper, _encoder);

        return jsonWriter.toString();
    }
public String serialize(
            final ILoggingEvent event,
            final String eventName,
            @Nullable final List<String> dataKeys,
            @Nullable final List<Object> dataValues,
            @Nullable final List<String> contextKeys,
            @Nullable final List<Object> contextValues)
            throws Exception {

        final StringWriter jsonWriter = new StringWriter();
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);

        // Start wrapper
        StenoSerializationHelper.startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        StenoSerializationHelper.writeKeyValuePairs(dataKeys, dataValues, jsonGenerator, _objectMapper, _encoder);
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        StenoSerializationHelper.writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        StenoSerializationHelper.endStenoWrapper(event, eventName, contextKeys, contextValues, jsonGenerator, _objectMapper, _encoder);

        return jsonWriter.toString();
    }
Serialize an event.

@param event The event.
@param eventName The event name.
@param dataKeys The message data keys.
@param dataValues The message data values.
@param contextKeys The message context keys.
@param contextValues The message context values.
@return Serialization of message as a <code>String</code>.
@throws Exception Serialization may throw any <code>Exception</code>.