Log a message and a throwable with specific log level.

@param logLevel the specific log level
@param msg      the message to log
@param tr       the throwable to be log
@since 1.4.0
771783
public void log(int logLevel, String msg, Throwable tr) {
    println(logLevel, msg, tr);
  }
932451
@Override
    public void fine(String msg) {
        if (isLoggable(Level.FINE)) {
            log(Level.FINE, msg);
        }
    }
707191
protected void log(LogLevel level,Object[] message,Throwable throwable)
    {
        if(level.getValue()>=this.logLevel.getValue())
        {
            //log the message
            this.logImpl(level,message,throwable);
        }
    }
577495
public void setLevel(String logger, Level level) {
      Logger log = getLogger(logger);
      log.setLevel(level);
      for (String loggerName : getLoggerNames()) {
         if (loggerName.startsWith(logger) && !loggerName.equals(logger)) {
            getLogger(loggerName).setLevel(level);
         }
      }
   }
618465
public void log(Level level, Object message) {
        doLog(level, FQCN, message, null, null);
    }
694764
public void log(Level level, String loggerFqcn, Object message, Throwable t) {
        doLog(level, loggerFqcn, message, null, t);
    }
193478
public void warning(String msg) {
        if (Level.WARNING.intValue() < levelValue) {
            return;
        }
        log(Level.WARNING, msg);
    }
729106
public static void v(String msg, Throwable tr) {
    assertInitialization();
    sLogger.v(msg, tr);
  }
1024275
public void w(final String msg) {
        logMgr.log(tag, LogLevelConst.WARNING, msg, null);
    }
77270
public static void i(String msg, Throwable tr) {
    assertInitialization();
    sLogger.i(msg, tr);
  }
515473
public void log(int logLevel, String format, Object... args) {
    println(logLevel, format, args);
  }
1143359
@Override
  public void log(Level level, Object message, Throwable e) {
    if(level == null) {
      level = Level.FATAL;
    }

    switch(level) {
    case TRACE:
      logger.trace(message.toString(), e);
      break;
    case DEBUG:
      logger.debug(message.toString(), e);
      break;
    case INFO:
      logger.info(message.toString(), e);
      break;
    case WARN:
      logger.warn(message.toString(), e);
      break;
    case ERROR:
      logger.error(message.toString(), e);
      break;
    case FATAL:
      logger.error(message.toString(), e);
      break;
    default:
      logger.error("Unhandled Logging Level: " + level
        + " with log message: " + message.toString(), e);
    }
  }
536967
public static void logThreads(final Logger logger, final Level level, final String prefix) {
    logThreads(logger, level, prefix, "\n\t", "\n\t\t");
  }
731435
public void fatal(String msg, Throwable t)
	{
		log(LogLevel.FATAL, msg, t);
	}
1077728
@Override
	public void log(Level level, String msg, Throwable thrown) {
		
		super.log(level, maskPassword(msg), thrown);
	}
710555
public void log(Throwable error, String description, Level level) {
    log(error, null, description, level);
  }
732282
public static void w(String tag, String msg, Throwable throwable) {
        if (sLevel > LEVEL_WARNING) {
            return;
        }
        Log.w(tag, msg, throwable);
    }