DefaultDittoLogger implements DittoLogger, AutoCloseableSlf4jLogger { public static DefaultDittoLogger of(final Logger logger) { final AutoCloseableSlf4jLogger autoCloseableSlf4jLogger = DefaultAutoCloseableSlf4jLogger.of(logger); return new DefaultDittoLogger(autoCloseableSlf4jLogger, AutoClosingSlf4jLogger.of(autoCloseableSlf4jLogger)); } private  DefaultDittoLogger(final AutoCloseableSlf4jLogger autoCloseableSlf4jLogger,
            final AutoCloseableSlf4jLogger autoClosingSlf4jLogger); static DefaultDittoLogger of(final Logger logger); @Override DefaultDittoLogger withCorrelationId(@Nullable final CharSequence correlationId); @Override DefaultDittoLogger withCorrelationId(final WithDittoHeaders withDittoHeaders); @Override DefaultDittoLogger withCorrelationId(final DittoHeaders dittoHeaders); @Override DefaultDittoLogger setCorrelationId(@Nullable final CharSequence correlationId); @Override DefaultDittoLogger setCorrelationId(final WithDittoHeaders withDittoHeaders); @Override DefaultDittoLogger setCorrelationId(final DittoHeaders dittoHeaders); @Override void discardCorrelationId(); @Override AutoCloseableSlf4jLogger putMdcEntry(final CharSequence key, @Nullable final CharSequence value); @Override DefaultDittoLogger withMdcEntry(final CharSequence key, @Nullable final CharSequence value); @Override DefaultDittoLogger withMdcEntries(final CharSequence k1, @Nullable final CharSequence v1,
            final CharSequence k2, @Nullable final CharSequence v2); @Override DefaultDittoLogger withMdcEntries(final CharSequence k1, @Nullable final CharSequence v1,
            final CharSequence k2, @Nullable final CharSequence v2,
            final CharSequence k3, @Nullable final CharSequence v3); @Override DefaultDittoLogger withMdcEntry(final MdcEntry mdcEntry, final MdcEntry... furtherMdcEntries); @Override DefaultDittoLogger removeMdcEntry(final CharSequence key); @Override String getName(); @Override boolean isTraceEnabled(); @Override void trace(final String msg); @Override void trace(final String format, final Object arg); @Override void trace(final String format, final Object arg1, final Object arg2); @Override void trace(final String format, final Object... arguments); @Override void trace(final String msg, final Throwable t); @Override boolean isTraceEnabled(final Marker marker); @Override void trace(final Marker marker, final String msg); @Override void trace(final Marker marker, final String format, final Object arg); @Override void trace(final Marker marker, final String format, final Object arg1, final Object arg2); @Override void trace(final Marker marker, final String format, final Object... argArray); @Override void trace(final Marker marker, final String msg, final Throwable t); @Override boolean isDebugEnabled(); @Override void debug(final String msg); @Override void debug(final String format, final Object arg); @Override void debug(final String format, final Object arg1, final Object arg2); @Override void debug(final String format, final Object... arguments); @Override void debug(final String msg, final Throwable t); @Override boolean isDebugEnabled(final Marker marker); @Override void debug(final Marker marker, final String msg); @Override void debug(final Marker marker, final String format, final Object arg); @Override void debug(final Marker marker, final String format, final Object arg1, final Object arg2); @Override void debug(final Marker marker, final String format, final Object... arguments); @Override void debug(final Marker marker, final String msg, final Throwable t); @Override boolean isInfoEnabled(); @Override void info(final String msg); @Override void info(final String format, final Object arg); @Override void info(final String format, final Object arg1, final Object arg2); @Override void info(final String format, final Object... arguments); @Override void info(final String msg, final Throwable t); @Override boolean isInfoEnabled(final Marker marker); @Override void info(final Marker marker, final String msg); @Override void info(final Marker marker, final String format, final Object arg); @Override void info(final Marker marker, final String format, final Object arg1, final Object arg2); @Override void info(final Marker marker, final String format, final Object... arguments); @Override void info(final Marker marker, final String msg, final Throwable t); @Override boolean isWarnEnabled(); @Override void warn(final String msg); @Override void warn(final String format, final Object arg); @Override void warn(final String format, final Object... arguments); @Override void warn(final String format, final Object arg1, final Object arg2); @Override void warn(final String msg, final Throwable t); @Override boolean isWarnEnabled(final Marker marker); @Override void warn(final Marker marker, final String msg); @Override void warn(final Marker marker, final String format, final Object arg); @Override void warn(final Marker marker, final String format, final Object arg1, final Object arg2); @Override void warn(final Marker marker, final String format, final Object... arguments); @Override void warn(final Marker marker, final String msg, final Throwable t); @Override boolean isErrorEnabled(); @Override void error(final String msg); @Override void error(final String format, final Object arg); @Override void error(final String format, final Object arg1, final Object arg2); @Override void error(final String format, final Object... arguments); @Override void error(final String msg, final Throwable t); @Override boolean isErrorEnabled(final Marker marker); @Override void error(final Marker marker, final String msg); @Override void error(final Marker marker, final String format, final Object arg); @Override void error(final Marker marker, final String format, final Object arg1, final Object arg2); @Override void error(final Marker marker, final String format, final Object... arguments); @Override void error(final Marker marker, final String msg, final Throwable t); @Override void close();  }
@Test public void getInstanceWithNullLogger() { assertThatNullPointerException() .isThrownBy(() -> DefaultDittoLogger.of(null)) .withMessage("The logger must not be null!") .withNoCause(); }