> >>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