code: public static void log (@Nonnull final Logger aLogger,
                            @Nonnull final IHasErrorLevel aErrorLevelProvider,
                            @Nonnull final Supplier <String> aMsgSupplier,
                            @Nullable final Throwable t)
    {
      log (aLogger, aErrorLevelProvider.getErrorLevel (), aMsgSupplier, t);
    }
docs: Generically log something
  
  @param aLogger
  Logger to use. May not be <code>null</code>.
  @param aErrorLevelProvider
  Error level provider to use. May not be <code>null</code>.
  @param aMsgSupplier
  Message supplier to use. The supplier is only invoked if the log
  level is enabled on the provided logger. May not be
  <code>null</code>.
  @param t
  Optional exception that occurred. May be <code>null</code>.
  @since 9.1.3