aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java332
1 files changed, 0 insertions, 332 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java
deleted file mode 100644
index 32474eea..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/listener/CommonsLoggingListener.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * 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.
- *
- */
-
-package org.apache.tools.ant.listener;
-
-import java.io.PrintStream;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogConfigurationException;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.UnknownElement;
-
-
-/**
- * Jakarta Commons Logging listener.
- * Note: do not use the SimpleLog as your logger implementation as it
- * causes an infinite loop since it writes to System.err, which Ant traps
- * and reroutes to the logger/listener layer.
- *
- * The following names are used for the log:
- * org.apache.tools.ant.Project.PROJECT_NAME - for project events
- * org.apache.tools.ant.Target.TARGET_NAME - for target events
- * TASK_CLASS_NAME.TARGET_NAME - for events in individual targets.
- *
- * In all target and project names we replace "." and " " with "-".
- *
- * TODO: we should use the advanced context logging features (and expose them
- * in c-l first :-)
- * TODO: this is _very_ inefficient. Switching the out and tracking the logs
- * can be optimized a lot - but may require few more changes to the core.
- *
- * @since Ant 1.5
- */
-public class CommonsLoggingListener implements BuildListener, BuildLogger {
-
- /** Indicates if the listener was initialized. */
- private boolean initialized = false;
-
- private LogFactory logFactory;
-
- /**
- * name of the category under which target events are logged
- */
- public static final String TARGET_LOG = "org.apache.tools.ant.Target";
- /**
- * name of the category under which project events are logged
- */
- public static final String PROJECT_LOG = "org.apache.tools.ant.Project";
-
- /**
- * Construct the listener and make sure that a LogFactory
- * can be obtained.
- */
- public CommonsLoggingListener() {
- }
-
- private Log getLog(String cat, String suffix) {
- if (suffix != null) {
- suffix = suffix.replace('.', '-');
- suffix = suffix.replace(' ', '-');
- cat = cat + "." + suffix;
- }
- final PrintStream tmpOut = System.out;
- final PrintStream tmpErr = System.err;
- System.setOut(out);
- System.setErr(err);
-
- if (!initialized) {
- try {
- logFactory = LogFactory.getFactory();
- } catch (final LogConfigurationException e) {
- e.printStackTrace(System.err);
- return null;
- }
- }
-
- initialized = true;
- final Log log = logFactory.getInstance(cat);
- System.setOut(tmpOut);
- System.setErr(tmpErr);
- return log;
- }
-
- /** {@inheritDoc}. */
- public void buildStarted(final BuildEvent event) {
- final String categoryString = PROJECT_LOG;
- final Log log = getLog(categoryString, null);
-
- if (initialized) {
- realLog(log, "Build started.", Project.MSG_INFO, null);
- }
- }
-
- /** {@inheritDoc}. */
- public void buildFinished(final BuildEvent event) {
- if (initialized) {
- final String categoryString = PROJECT_LOG;
- final Log log = getLog(categoryString, event.getProject().getName());
-
- if (event.getException() == null) {
- realLog(log, "Build finished.", Project.MSG_INFO, null);
- } else {
- realLog(log, "Build finished with error.", Project.MSG_ERR,
- event.getException());
- }
- }
- }
-
- /**
- * @see BuildListener#targetStarted
- */
- /** {@inheritDoc}. */
- public void targetStarted(final BuildEvent event) {
- if (initialized) {
- final Log log = getLog(TARGET_LOG,
- event.getTarget().getName());
- // Since task log category includes target, we don't really
- // need this message
- realLog(log, "Start: " + event.getTarget().getName(),
- Project.MSG_VERBOSE, null);
- }
- }
-
- /**
- * @see BuildListener#targetFinished
- */
- /** {@inheritDoc}. */
- public void targetFinished(final BuildEvent event) {
- if (initialized) {
- final String targetName = event.getTarget().getName();
- final Log log = getLog(TARGET_LOG,
- event.getTarget().getName());
- if (event.getException() == null) {
- realLog(log, "Target end: " + targetName, Project.MSG_DEBUG, null);
- } else {
- realLog(log, "Target \"" + targetName
- + "\" finished with error.", Project.MSG_ERR,
- event.getException());
- }
- }
- }
-
- /**
- * @see BuildListener#taskStarted
- */
- /** {@inheritDoc}. */
- public void taskStarted(final BuildEvent event) {
- if (initialized) {
- final Task task = event.getTask();
- Object real = task;
- if (task instanceof UnknownElement) {
- final Object realObj = ((UnknownElement) task).getTask();
- if (realObj != null) {
- real = realObj;
- }
- }
- final Log log = getLog(real.getClass().getName(), null);
- if (log.isTraceEnabled()) {
- realLog(log, "Task \"" + task.getTaskName() + "\" started ",
- Project.MSG_VERBOSE, null);
- }
- }
- }
-
- /**
- * @see BuildListener#taskFinished
- */
- /** {@inheritDoc}. */
- public void taskFinished(final BuildEvent event) {
- if (initialized) {
- final Task task = event.getTask();
- Object real = task;
- if (task instanceof UnknownElement) {
- final Object realObj = ((UnknownElement) task).getTask();
- if (realObj != null) {
- real = realObj;
- }
- }
- final Log log = getLog(real.getClass().getName(), null);
- if (event.getException() == null) {
- if (log.isTraceEnabled()) {
- realLog(log, "Task \"" + task.getTaskName() + "\" finished.",
- Project.MSG_VERBOSE, null);
- }
- } else {
- realLog(log, "Task \"" + task.getTaskName()
- + "\" finished with error.", Project.MSG_ERR,
- event.getException());
- }
- }
- }
-
-
- /**
- * @see BuildListener#messageLogged
- */
- /** {@inheritDoc}. */
- public void messageLogged(final BuildEvent event) {
- if (initialized) {
- Object categoryObject = event.getTask();
- String categoryString = null;
- String categoryDetail = null;
-
- if (categoryObject == null) {
- categoryObject = event.getTarget();
- if (categoryObject == null) {
- categoryObject = event.getProject();
- categoryString = PROJECT_LOG;
- categoryDetail = event.getProject().getName();
- } else {
- categoryString = TARGET_LOG;
- categoryDetail = event.getTarget().getName();
- }
- } else {
- // It's a task - append the target
- if (event.getTarget() != null) {
- categoryString = categoryObject.getClass().getName();
- categoryDetail = event.getTarget().getName();
- } else {
- categoryString = categoryObject.getClass().getName();
- }
-
- }
-
- final Log log = getLog(categoryString, categoryDetail);
- final int priority = event.getPriority();
- final String message = event.getMessage();
- realLog(log, message, priority , null);
- }
- }
-
- private void realLog(final Log log, final String message, final int priority, final Throwable t) {
- final PrintStream tmpOut = System.out;
- final PrintStream tmpErr = System.err;
- System.setOut(out);
- System.setErr(err);
- switch (priority) {
- case Project.MSG_ERR:
- if (t == null) {
- log.error(message);
- } else {
- log.error(message, t);
- }
- break;
- case Project.MSG_WARN:
- if (t == null) {
- log.warn(message);
- } else {
- log.warn(message, t);
- }
- break;
- case Project.MSG_INFO:
- if (t == null) {
- log.info(message);
- } else {
- log.info(message, t);
- }
- break;
- case Project.MSG_VERBOSE:
- log.debug(message);
- break;
- case Project.MSG_DEBUG:
- log.debug(message);
- break;
- default:
- log.error(message);
- break;
- }
- System.setOut(tmpOut);
- System.setErr(tmpErr);
- }
-
- // CheckStyle:VisibilityModifier OFF - bc
- PrintStream out = System.out;
- PrintStream err = System.err;
- // CheckStyle:VisibilityModifier ON
-
- /**
- * Set the the output level.
- * This is not used, the logger config is used instead.
- * @param level ignored
- */
- public void setMessageOutputLevel(final int level) {
- // Use the logger config
- }
-
- /**
- * Set the output print stream.
- * @param output the output stream
- */
- public void setOutputPrintStream(final PrintStream output) {
- this.out = output;
- }
-
- /**
- * Set emacs mode.
- * This is ignored.
- * @param emacsMode ignored
- */
- public void setEmacsMode(final boolean emacsMode) {
- // Doesn't make sense for c-l. Use the logger config
- }
-
- /**
- * Set the error print stream.
- * @param err the error stream
- */
- public void setErrorPrintStream(final PrintStream err) {
- this.err = err;
- }
-
-}