AW: Ant Logging isVerbose()?

2005-05-30 Thread Jan . Materne
> >>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


Re: Ant Logging isVerbose()?

2005-05-30 Thread Steve Loughran

Stefan Bodewig wrote:

On Mon, 30 May 2005, Steve Cohen <[EMAIL PROTECTED]> wrote:


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


-steve

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Ant Logging isVerbose()?

2005-05-30 Thread Steve Cohen

Stefan Bodewig wrote:

On Mon, 30 May 2005, Steve Cohen <[EMAIL PROTECTED]> wrote:


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.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Yeah, that's what I thought.  I found the BuildLogger interface with 
setters and no getters and couldn't see a way around that, without 
changing the interface, which of course, has problems of its own.


Oh well.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Ant Logging isVerbose()?

2005-05-30 Thread Stefan Bodewig
On Mon, 30 May 2005, Steve Cohen <[EMAIL PROTECTED]> wrote:
> 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.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Ant Logging isVerbose()?

2005-05-30 Thread Steve Cohen

In log4j, commons-logging, etc.  a common pattern is

if (isDebugEnabled()) {
   // some expensive string building to put message together
  log.debug(expensiveMessage);
}

The point is that without the isXXXEnabled(), the expensive string 
building must occur even if the most verbose logger activated is not 
verbose enough to cause the log message to be written.


I don't see such functionality in Ant and yet it seems to me like an 
obviously useful extension.  Has there been discussion before about this 
and a conscious decision not to do it?




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]