MCPcopy Create free account
hub / github.com/apache/pig / configureLog4J

Method configureLog4J

src/org/apache/pig/Main.java:754–800  ·  view source on GitHub ↗
(Properties properties, PigContext pigContext)

Source from the content-addressed store, hash-verified

752
753 //TODO jz: log4j.properties should be used instead
754 private static void configureLog4J(Properties properties, PigContext pigContext) {
755 // TODO Add a file appender for the logs
756 // TODO Need to create a property in the properties file for it.
757 // sgroschupf, 25Feb2008: this method will be obsolete with PIG-115.
758
759 String log4jconf = properties.getProperty(LOG4J_CONF);
760 String trueString = "true";
761 boolean brief = trueString.equalsIgnoreCase(properties.getProperty(BRIEF));
762 Level logLevel = Level.INFO;
763
764 String logLevelString = properties.getProperty(DEBUG);
765 if (logLevelString != null){
766 logLevel = Level.toLevel(logLevelString, Level.INFO);
767 }
768
769 final Properties props = log4jConfAsProperties(log4jconf);
770 if (props.size() == 0) {
771 props.setProperty("log4j.logger.org.apache.pig", logLevel.toString());
772 if((logLevelString = System.getProperty("pig.logfile.level")) == null){
773 props.setProperty("log4j.rootLogger", "INFO, PIGCONSOLE");
774 }
775 else{
776 logLevel = Level.toLevel(logLevelString, Level.INFO);
777 props.setProperty("log4j.logger.org.apache.pig", logLevel.toString());
778 props.setProperty("log4j.rootLogger", "INFO, PIGCONSOLE, F");
779 props.setProperty("log4j.appender.F","org.apache.log4j.RollingFileAppender");
780 props.setProperty("log4j.appender.F.File",properties.getProperty("pig.logfile"));
781 props.setProperty("log4j.appender.F.layout","org.apache.log4j.PatternLayout");
782 props.setProperty("log4j.appender.F.layout.ConversionPattern", brief ? "%m%n" : "%d [%t] %-5p %c - %m%n");
783 }
784
785 props.setProperty("log4j.appender.PIGCONSOLE","org.apache.log4j.ConsoleAppender");
786 props.setProperty("log4j.appender.PIGCONSOLE.target", "System.err");
787 props.setProperty("log4j.appender.PIGCONSOLE.layout","org.apache.log4j.PatternLayout");
788 props.setProperty("log4j.appender.PIGCONSOLE.layout.ConversionPattern", brief ? "%m%n" : "%d [%t] %-5p %c - %m%n");
789 }
790
791 PropertyConfigurator.configure(props);
792 logLevel = Logger.getLogger("org.apache.pig").getLevel();
793 if (logLevel==null) {
794 logLevel = Logger.getLogger("org.apache.pig").getEffectiveLevel();
795 }
796 Properties backendProps = pigContext.getLog4jProperties();
797 backendProps.setProperty("log4j.logger.org.apache.pig", logLevel.toString());
798 pigContext.setLog4jProperties(backendProps);
799 pigContext.setDefaultLogLevel(logLevel);
800 }
801
802 @VisibleForTesting
803 static Properties log4jConfAsProperties(String log4jconf) {

Callers 1

runMethod · 0.95

Calls 10

log4jConfAsPropertiesMethod · 0.95
getPropertyMethod · 0.80
getLog4jPropertiesMethod · 0.80
setLog4jPropertiesMethod · 0.80
setDefaultLogLevelMethod · 0.80
sizeMethod · 0.65
setPropertyMethod · 0.65
toStringMethod · 0.45
configureMethod · 0.45
getLoggerMethod · 0.45

Tested by

no test coverage detected