> >>In log4j, commons-logging, etc. a common pattern is
> >>
> >>if (isDebugEnabled()) {
> >> // some expensive string building to put message together
> >> log.debug(expensiveMessage);
> >>}
> >>
> >>I don't see such functionality in Ant
> >
> >
> > Because Ant doesn't have a way to determine isDebugEnabled().
> > XmlLogger, for example, logs everything and ignores the command line
> > switches. So the only "thing" which would know it is the listeners
> > themselves.
> >
> > Since the listener API doesn't expose the verbosity - and
> changing the
> > interface is no good idea either - I don't see how we could do it.
>
> I've always wondered how much overhead the verbose/debug log
> info takes
> up. It would make sense to determine the cost before addressing the
> issue. And, as you say, the only solution is changing the
> interface (or
> cheating, using reflection on the side).
Or introducing a new ...
public interface BuildLogger2 extends BuildLogger {
public boolean isVerboseEnabled();
...
}
Jan
|