Browse Source

make the Log4j 1.2 Bridge work

master
Jan Matrne 7 years ago
parent
commit
610b0b6416
1 changed files with 59 additions and 82 deletions
  1. +59
    -82
      src/main/org/apache/tools/ant/listener/Log4jListener.java

+ 59
- 82
src/main/org/apache/tools/ant/listener/Log4jListener.java View File

@@ -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;
@@ -41,20 +39,13 @@ 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";


/** 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 * @see BuildListener#buildStarted
@@ -62,10 +53,8 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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.");
} }


/** /**
@@ -74,13 +63,11 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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());
} }
} }


@@ -90,10 +77,8 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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.");
} }


/** /**
@@ -102,15 +87,13 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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());
} }
} }


@@ -120,11 +103,9 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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.");
} }


/** /**
@@ -133,15 +114,13 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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());
} }
} }


@@ -151,37 +130,35 @@ public class Log4jListener implements BuildListener {
*/ */
@Override @Override
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;
} }
} }
} }

Loading…
Cancel
Save