Re: ArrayList in Eclipse
Nasser M. Abbasi wrote:
markspace wrote:
I've also found that well placed log statements are a faster way of
debugging than stepping through code in a debugger. And debuggers can't
be used when timing is a source of error.
<http://logging.apache.org/log4j/1.2/>
It depends on the situation. In some cases, log debugging is
much more productive. Sometimes, one want to set a breakpoint
somewhere and examine data in a way not easily done by logging.
One problem with log debugging is how to turn it on/off on
selected area of the applications. If one wants logging generated
from one function and not another, then one ends up using more
flag and switches. Also there can be a need to change the
level of debugging (verbose, summary, etc...)
But I think a well designed logging facility can achieve
most of this, but I think this needs to be designed and
developed as part of the whole application. For large
applications, a good logging facility is essential.
I think some programmers add logging after the application is
deveopled, instead of designing it as part of the application
itself.
I agree twice over. The larger issue is that logging is part of the
production environment. It is meant to serve the ops team; benefit to
developers follows consequently.
Understand that logging doesn't serve to verify variables, methods and the
like. Logging serves to verify correct user-visible function; necessary to
that purpose logging sometimes verifies variables, methods and the like (at
jul's FINEST or log4j's DEBUG level).
As you say, logging is an essential component of system design, every bit as
much as the functional requirements. After all, no functional requirements
succeed if the system cannot run.
Logging and assertions are run-time, class-by-class controllable for a reason.
--
Lew
Honey, don't scare the children.