| @@ -15,11 +15,9 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| * | * | ||||
| */ | */ | ||||
| package org.apache.tools.ant.listener; | package org.apache.tools.ant.listener; | ||||
| import org.apache.log4j.Logger; | import org.apache.log4j.Logger; | ||||
| import org.apache.log4j.helpers.NullEnumeration; | |||||
| import org.apache.tools.ant.BuildEvent; | import org.apache.tools.ant.BuildEvent; | ||||
| import org.apache.tools.ant.BuildListener; | import org.apache.tools.ant.BuildListener; | ||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| @@ -44,27 +42,21 @@ public class Log4jListener implements BuildListener { | |||||
| */ | */ | ||||
| public static final String LOG_ANT = "org.apache.tools.ant"; | public static final String LOG_ANT = "org.apache.tools.ant"; | ||||
| /** | |||||
| * 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 | * @see BuildListener#buildStarted | ||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void buildStarted(final BuildEvent event) { | 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."); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -72,13 +64,11 @@ public class Log4jListener implements BuildListener { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void buildFinished(final BuildEvent event) { | 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()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -87,10 +77,8 @@ public class Log4jListener implements BuildListener { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void targetStarted(final BuildEvent event) { | 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."); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -98,15 +86,13 @@ public class Log4jListener implements BuildListener { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void targetFinished(final BuildEvent event) { | 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()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -115,11 +101,9 @@ public class Log4jListener implements BuildListener { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void taskStarted(final BuildEvent event) { | 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."); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -127,15 +111,13 @@ public class Log4jListener implements BuildListener { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public void taskFinished(final BuildEvent event) { | 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()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -145,37 +127,35 @@ public class Log4jListener implements BuildListener { | |||||
| */ | */ | ||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| public void messageLogged(final BuildEvent event) { | 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) { | 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; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||