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; } } }
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; } } }