private static String initHiveLog4jCommon(Configuration conf, ConfVars confVarName)
    throws LogInitializationException {
    if (MetastoreConf.getVar(conf, confVarName).equals("")) {
      // if log4j configuration file not set, or could not found, use default setting
      return initHiveLog4jDefault(conf, "", confVarName);
    } else {
      // if log4j configuration file found successfully, use HiveConf property value
      String log4jFileName = MetastoreConf.getVar(conf, confVarName);
      File log4jConfigFile = new File(log4jFileName);
      boolean fileExists = log4jConfigFile.exists();
      if (!fileExists) {
        // if property specified file not found in local file system
        // use default setting
        return initHiveLog4jDefault(
          conf, "Not able to find conf file: " + log4jConfigFile, confVarName);
      } else {
        // property speficied file found in local file system
        // use the specified file
        final boolean async = checkAndSetAsyncLogging(conf);
        // required for MDC based routing appender so that child threads can inherit the MDC context
        System.setProperty(DefaultThreadContextMap.INHERITABLE_MAP, "true");
        Configurator.initialize(null, log4jFileName);
        logConfigLocation();
        return "Logging initialized using configuration in " + log4jConfigFile + " Async: " + async;
      }
    }
  }
Initialize log4j.

@return an message suitable for display to the user
@throws LogInitializationException if log4j fails to initialize correctly
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/LogUtils.java