I also think that usage of the log() methods except in really rare circumstances leads to poor programming idioms. Hopefully there will only be a handful of tasks that use it (like <log/>) and thus it is not universal enough to be in the TaskContext. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271821 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -65,7 +65,7 @@ public class Log | |||
| public void execute() | |||
| throws TaskException | |||
| { | |||
| getContext().log( m_level, m_message ); | |||
| LogLevel.log( getContext(), m_level, m_message ); | |||
| } | |||
| /** | |||
| @@ -53,6 +53,64 @@ public final class LogLevel | |||
| return (String[])keys.toArray( new String[ keys.size() ] ); | |||
| } | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| */ | |||
| public static void log( final TaskContext context, | |||
| final LogLevel level, | |||
| final String message ) | |||
| { | |||
| if( LogLevel.ERROR == level ) | |||
| { | |||
| context.error( message ); | |||
| } | |||
| else if( LogLevel.WARN == level ) | |||
| { | |||
| context.warn( message ); | |||
| } | |||
| else if( LogLevel.INFO == level ) | |||
| { | |||
| context.info( message ); | |||
| } | |||
| else | |||
| { | |||
| context.debug( message ); | |||
| } | |||
| } | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| * @param throwable the throwable. | |||
| */ | |||
| public static void log( final TaskContext context, | |||
| final LogLevel level, | |||
| final String message, | |||
| final Throwable throwable ) | |||
| { | |||
| if( LogLevel.ERROR == level ) | |||
| { | |||
| context.error( message, throwable ); | |||
| } | |||
| else if( LogLevel.WARN == level ) | |||
| { | |||
| context.warn( message, throwable ); | |||
| } | |||
| else if( LogLevel.INFO == level ) | |||
| { | |||
| context.info( message, throwable ); | |||
| } | |||
| else | |||
| { | |||
| context.debug( message, throwable ); | |||
| } | |||
| } | |||
| /** | |||
| * Private constructor so no instance except here can be defined. | |||
| * | |||
| @@ -100,23 +100,6 @@ public interface TaskContext | |||
| void setProperty( String name, Object value ) | |||
| throws TaskException; | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| */ | |||
| void log( LogLevel level, String message ); | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| * @param throwable the throwable | |||
| */ | |||
| void log( LogLevel level, String message, Throwable throwable ); | |||
| /** | |||
| * Log a debug message. | |||
| * | |||
| @@ -18,7 +18,6 @@ import org.apache.avalon.framework.context.ContextException; | |||
| import org.apache.avalon.framework.logger.Logger; | |||
| import org.apache.avalon.framework.service.ServiceException; | |||
| import org.apache.avalon.framework.service.ServiceManager; | |||
| import org.apache.myrmidon.api.LogLevel; | |||
| import org.apache.myrmidon.api.TaskContext; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| import org.apache.myrmidon.interfaces.model.DefaultNameValidator; | |||
| @@ -38,6 +37,7 @@ public class DefaultTaskContext | |||
| // Property name validator allows digits, but no internal whitespace. | |||
| private static DefaultNameValidator m_propertyNameValidator = new DefaultNameValidator(); | |||
| static | |||
| { | |||
| m_propertyNameValidator.setAllowInternalWhitespace( false ); | |||
| @@ -146,7 +146,6 @@ public class DefaultTaskContext | |||
| public Object resolveValue( final String value ) | |||
| throws TaskException | |||
| { | |||
| try | |||
| { | |||
| // Lazy lookup of the PropertyResolver | |||
| @@ -213,67 +212,6 @@ public class DefaultTaskContext | |||
| m_contextData.put( name, value ); | |||
| } | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| */ | |||
| public void log( LogLevel level, String message ) | |||
| { | |||
| if( LogLevel.FATAL_ERROR == level ) | |||
| { | |||
| m_logger.fatalError( message ); | |||
| } | |||
| else if( LogLevel.ERROR == level ) | |||
| { | |||
| m_logger.error( message ); | |||
| } | |||
| else if( LogLevel.WARN == level ) | |||
| { | |||
| m_logger.warn( message ); | |||
| } | |||
| else if( LogLevel.INFO == level ) | |||
| { | |||
| m_logger.info( message ); | |||
| } | |||
| else | |||
| { | |||
| m_logger.debug( message ); | |||
| } | |||
| } | |||
| /** | |||
| * Log a message. | |||
| * | |||
| * @param level the level to write the log message at. | |||
| * @param message the message to write. | |||
| * @param throwable the throwable. | |||
| */ | |||
| public void log( LogLevel level, String message, Throwable throwable ) | |||
| { | |||
| if( LogLevel.FATAL_ERROR == level ) | |||
| { | |||
| m_logger.fatalError( message, throwable ); | |||
| } | |||
| else if( LogLevel.ERROR == level ) | |||
| { | |||
| m_logger.error( message, throwable ); | |||
| } | |||
| else if( LogLevel.WARN == level ) | |||
| { | |||
| m_logger.warn( message, throwable ); | |||
| } | |||
| else if( LogLevel.INFO == level ) | |||
| { | |||
| m_logger.info( message, throwable ); | |||
| } | |||
| else | |||
| { | |||
| m_logger.debug( message, throwable ); | |||
| } | |||
| } | |||
| /** | |||
| * Log a debug message. | |||
| * | |||