code: public static void log (@Nonnull final Logger aLogger,
                            @Nonnull final IErrorLevel aErrorLevel,
                            @Nonnull final String sMsg,
                            @Nullable final Throwable t)
    {
      ValueEnforcer.notNull (aLogger, "Logger");
      ValueEnforcer.notNull (aErrorLevel, "ErrorLevel");
      ValueEnforcer.notNull (sMsg, "Message");
  
      if (isEnabled (aLogger, aErrorLevel))
        getFuncLogger (aLogger, aErrorLevel).log (sMsg, t);
    }
docs: Generically log something
  
  @param aLogger
  Logger to use. May not be <code>null</code>.
  @param aErrorLevel
  Error level to use. May not be <code>null</code>.
  @param sMsg
  The message to log. May not be <code>null</code>.
  @param t
  Optional exception that occurred. May be <code>null</code>.