| @@ -15,11 +15,9 @@ | |||
| * limitations under the License. | |||
| * | |||
| */ | |||
| package org.apache.tools.ant.listener; | |||
| import org.apache.log4j.Logger; | |||
| import org.apache.log4j.helpers.NullEnumeration; | |||
| import org.apache.tools.ant.BuildEvent; | |||
| import org.apache.tools.ant.BuildListener; | |||
| import org.apache.tools.ant.Project; | |||
| @@ -41,20 +39,13 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| public static final String LOG_ANT = "org.apache.tools.ant"; | |||
| /** Indicates if the listener was initialized. */ | |||
| private final boolean initialized; | |||
| /** | |||
| * Construct the listener and make sure there is a valid appender. | |||
| */ | |||
| public Log4jListener() { | |||
| final Logger log = Logger.getLogger(LOG_ANT); | |||
| final Logger rootLog = Logger.getRootLogger(); | |||
| initialized = !(rootLog.getAllAppenders() instanceof NullEnumeration); | |||
| if (!initialized) { | |||
| log.error("No log4j.properties in build area"); | |||
| } | |||
| } | |||
| /** | |||
| * Construct the listener | |||
| */ | |||
| public Log4jListener() { | |||
| // trigger the log4j initialization (if at all it's not yet initialized) | |||
| final Logger log = Logger.getLogger(LOG_ANT); | |||
| } | |||
| /** | |||
| * @see BuildListener#buildStarted | |||
| @@ -62,10 +53,8 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void buildStarted(final BuildEvent event) { | |||
| if (initialized) { | |||
| final Logger log = Logger.getLogger(Project.class.getName()); | |||
| log.info("Build started."); | |||
| } | |||
| final Logger log = Logger.getLogger(Project.class.getName()); | |||
| log.info("Build started."); | |||
| } | |||
| /** | |||
| @@ -74,13 +63,11 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void buildFinished(final BuildEvent event) { | |||
| if (initialized) { | |||
| final Logger log = Logger.getLogger(Project.class.getName()); | |||
| if (event.getException() == null) { | |||
| log.info("Build finished."); | |||
| } else { | |||
| log.error("Build finished with error.", event.getException()); | |||
| } | |||
| final Logger log = Logger.getLogger(Project.class.getName()); | |||
| if (event.getException() == null) { | |||
| log.info("Build finished."); | |||
| } else { | |||
| log.error("Build finished with error.", event.getException()); | |||
| } | |||
| } | |||
| @@ -90,10 +77,8 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void targetStarted(final BuildEvent event) { | |||
| if (initialized) { | |||
| final Logger log = Logger.getLogger(Target.class.getName()); | |||
| log.info("Target \"" + event.getTarget().getName() + "\" started."); | |||
| } | |||
| final Logger log = Logger.getLogger(Target.class.getName()); | |||
| log.info("Target \"" + event.getTarget().getName() + "\" started."); | |||
| } | |||
| /** | |||
| @@ -102,15 +87,13 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void targetFinished(final BuildEvent event) { | |||
| if (initialized) { | |||
| final String targetName = event.getTarget().getName(); | |||
| final Logger cat = Logger.getLogger(Target.class.getName()); | |||
| if (event.getException() == null) { | |||
| cat.info("Target \"" + targetName + "\" finished."); | |||
| } else { | |||
| cat.error("Target \"" + targetName | |||
| + "\" finished with error.", event.getException()); | |||
| } | |||
| final String targetName = event.getTarget().getName(); | |||
| final Logger cat = Logger.getLogger(Target.class.getName()); | |||
| if (event.getException() == null) { | |||
| cat.info("Target \"" + targetName + "\" finished."); | |||
| } else { | |||
| cat.error("Target \"" + targetName | |||
| + "\" finished with error.", event.getException()); | |||
| } | |||
| } | |||
| @@ -120,11 +103,9 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void taskStarted(final BuildEvent event) { | |||
| if (initialized) { | |||
| final Task task = event.getTask(); | |||
| final Logger log = Logger.getLogger(task.getClass().getName()); | |||
| log.info("Task \"" + task.getTaskName() + "\" started."); | |||
| } | |||
| final Task task = event.getTask(); | |||
| final Logger log = Logger.getLogger(task.getClass().getName()); | |||
| log.info("Task \"" + task.getTaskName() + "\" started."); | |||
| } | |||
| /** | |||
| @@ -133,15 +114,13 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void taskFinished(final BuildEvent event) { | |||
| if (initialized) { | |||
| final Task task = event.getTask(); | |||
| final Logger log = Logger.getLogger(task.getClass().getName()); | |||
| if (event.getException() == null) { | |||
| log.info("Task \"" + task.getTaskName() + "\" finished."); | |||
| } else { | |||
| log.error("Task \"" + task.getTaskName() | |||
| + "\" finished with error.", event.getException()); | |||
| } | |||
| final Task task = event.getTask(); | |||
| final Logger log = Logger.getLogger(task.getClass().getName()); | |||
| if (event.getException() == null) { | |||
| log.info("Task \"" + task.getTaskName() + "\" finished."); | |||
| } else { | |||
| log.error("Task \"" + task.getTaskName() | |||
| + "\" finished with error.", event.getException()); | |||
| } | |||
| } | |||
| @@ -151,37 +130,35 @@ public class Log4jListener implements BuildListener { | |||
| */ | |||
| @Override | |||
| public void messageLogged(final BuildEvent event) { | |||
| if (initialized) { | |||
| Object categoryObject = event.getTask(); | |||
| Object categoryObject = event.getTask(); | |||
| if (categoryObject == null) { | |||
| categoryObject = event.getTarget(); | |||
| if (categoryObject == null) { | |||
| categoryObject = event.getTarget(); | |||
| if (categoryObject == null) { | |||
| categoryObject = event.getProject(); | |||
| } | |||
| categoryObject = event.getProject(); | |||
| } | |||
| } | |||
| final Logger log | |||
| = Logger.getLogger(categoryObject.getClass().getName()); | |||
| switch (event.getPriority()) { | |||
| case Project.MSG_ERR: | |||
| log.error(event.getMessage()); | |||
| break; | |||
| case Project.MSG_WARN: | |||
| log.warn(event.getMessage()); | |||
| break; | |||
| case Project.MSG_INFO: | |||
| log.info(event.getMessage()); | |||
| break; | |||
| case Project.MSG_VERBOSE: | |||
| log.debug(event.getMessage()); | |||
| break; | |||
| case Project.MSG_DEBUG: | |||
| log.debug(event.getMessage()); | |||
| break; | |||
| default: | |||
| log.error(event.getMessage()); | |||
| break; | |||
| } | |||
| final Logger log | |||
| = Logger.getLogger(categoryObject.getClass().getName()); | |||
| switch (event.getPriority()) { | |||
| case Project.MSG_ERR: | |||
| log.error(event.getMessage()); | |||
| break; | |||
| case Project.MSG_WARN: | |||
| log.warn(event.getMessage()); | |||
| break; | |||
| case Project.MSG_INFO: | |||
| log.info(event.getMessage()); | |||
| break; | |||
| case Project.MSG_VERBOSE: | |||
| log.debug(event.getMessage()); | |||
| break; | |||
| case Project.MSG_DEBUG: | |||
| log.debug(event.getMessage()); | |||
| break; | |||
| default: | |||
| log.error(event.getMessage()); | |||
| break; | |||
| } | |||
| } | |||
| } | |||