Updated Branches: refs/heads/sqoop2 da06408f2 -> 48530e3f8
SQOOP-744: Sqoop2: Supply log4j configuration for generated mapreduce job (Raghav Kumar Gautam via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/48530e3f Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/48530e3f Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/48530e3f Branch: refs/heads/sqoop2 Commit: 48530e3f8b9cb2770461d9b4e8e291ae15d47156 Parents: da06408 Author: Jarek Jarcec Cecho <[email protected]> Authored: Sat Aug 24 11:45:14 2013 -0700 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Sat Aug 24 11:45:14 2013 -0700 ---------------------------------------------------------------------- .../apache/sqoop/job/mr/ConfigurationUtils.java | 17 +++++++++++++++ .../org/apache/sqoop/job/mr/SqoopMapper.java | 3 +++ .../org/apache/sqoop/job/mr/SqoopReducer.java | 3 +++ .../main/resources/META-INF/log4j.properties | 23 ++++++++++++++++++++ 4 files changed, 46 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/48530e3f/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/ConfigurationUtils.java ---------------------------------------------------------------------- diff --git a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/ConfigurationUtils.java b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/ConfigurationUtils.java index f5f6d8e..bd11323 100644 --- a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/ConfigurationUtils.java +++ b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/ConfigurationUtils.java @@ -21,6 +21,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.Job; +import org.apache.log4j.PropertyConfigurator; import org.apache.sqoop.job.JobConstants; import org.apache.sqoop.json.util.SchemaSerialization; import org.apache.sqoop.model.FormUtils; @@ -30,6 +31,9 @@ import org.apache.sqoop.utils.ClassUtils; import org.json.simple.JSONObject; import org.json.simple.JSONValue; +import java.io.InputStream; +import java.util.Properties; + /** * Helper class to store and load various information in/from MapReduce configuration * object and JobConf object. @@ -261,4 +265,17 @@ public final class ConfigurationUtils { private ConfigurationUtils() { // Instantiation is prohibited } + + public static void configureLogging() { + try { + Properties props = new Properties(); + InputStream resourceAsStream = + SqoopMapper.class.getResourceAsStream("/META-INF/log4j.properties"); + props.load(resourceAsStream); + PropertyConfigurator.configure(props); + } catch (Exception e) { + System.err.println("Encountered exception while configuring logging " + + "for sqoop: " + e); + } + } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/48530e3f/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopMapper.java ---------------------------------------------------------------------- diff --git a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopMapper.java b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopMapper.java index 59cf391..92de37e 100644 --- a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopMapper.java +++ b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopMapper.java @@ -43,6 +43,9 @@ import org.apache.sqoop.utils.ClassUtils; */ public class SqoopMapper extends Mapper<SqoopSplit, NullWritable, Data, NullWritable> { + static { + ConfigurationUtils.configureLogging(); + } public static final Logger LOG = Logger.getLogger(SqoopMapper.class); /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/48530e3f/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopReducer.java ---------------------------------------------------------------------- diff --git a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopReducer.java b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopReducer.java index b31161c..98a2c51 100644 --- a/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopReducer.java +++ b/execution/mapreduce/src/main/java/org/apache/sqoop/job/mr/SqoopReducer.java @@ -32,6 +32,9 @@ import java.util.concurrent.TimeUnit; */ public class SqoopReducer extends Reducer<Data, NullWritable, Data, NullWritable> { + static { + ConfigurationUtils.configureLogging(); + } public static final Logger LOG = Logger.getLogger(SqoopReducer.class); /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/48530e3f/execution/mapreduce/src/main/resources/META-INF/log4j.properties ---------------------------------------------------------------------- diff --git a/execution/mapreduce/src/main/resources/META-INF/log4j.properties b/execution/mapreduce/src/main/resources/META-INF/log4j.properties new file mode 100644 index 0000000..0f34f97 --- /dev/null +++ b/execution/mapreduce/src/main/resources/META-INF/log4j.properties @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Set root logger level to DEBUG and its only appender to A1. +log4j.logger.org.apache.sqoop=ALL, A1 + +# A1 is set to be a ConsoleAppender. +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.Target = System.err +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c %x - %m%n
