class StructuredJsonLayout extends Layout {

  @Override
  public String format(LoggingEvent loggingEvent) {
    final LogRecordBuilder<String> recordBuilder = logRecordBuilderFactory.get();
    return recordBuilder.withLevel(loggingEvent.getLevel().toString())
        .withLoggerName(loggingEvent.getLoggerName())
        .withTimeMs(loggingEvent.getTimeStamp())
        .withMessageJson(loggingEvent.getRenderedMessage())
        .build();
  }

  public  StructuredJsonLayout();
    StructuredJsonLayout(
      final Supplier<LogRecordBuilder<String>> logRecordBuilderFactory);

}