Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #3182

Re: ArrayList in Eclipse

From Arved Sandstrom <asandstrom3minus1@eastlink.ca>
Newsgroups comp.lang.java.programmer
Subject Re: ArrayList in Eclipse
References <919alnF872U1@mid.individual.net> <ioo6mg$v5e$1@dont-email.me> <ioobbi$u7e$1@speranza.aioe.org>
Message-ID <_HSrp.38011$zn.24426@newsfe19.iad> (permalink)
Organization Public Usenet Newsgroup Access
Date 2011-04-21 06:23 -0300

Show all headers | View raw


On 11-04-21 01:21 AM, Nasser M. Abbasi wrote:
> On 4/20/2011 8:01 PM, 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. 
> --Nasser

I agree generally. A lot of logging does get added after the fact by
maintenance programmers doing defect fixes, who, being the ones that
actually do most of the defect fixing (seeing as how the production
users are doing most of the real testing), see the practical value of
logging.

In the *real* world, for the majority of production deployments, there
are no (or inadequate) unit and functional test suites. Also in the real
world, for the majority of production deployments, the problem reporting
from the field is anecdotal - it can only report the observations of
(typically) one user or a small group of users, but it doesn't report
the snapshot state of the entire application; identifying a problem
reproducing scenario is often difficult or not possible.

And also in the real world, the problem often manifests because of the
interaction of hundreds of users - the typical lack of unit/functional
testing also means that there is no possible useful load testing
available. You can't reproduce the problem for a debugging session
because it's a probabilistic event.

Good logging goes a long way towards addressing these problems.

Debugging is OK, and sometimes the best way even, if the debugging
developer isn't all that familiar with the code, and the problem is
highly reproducible. Otherwise it's not often the best way (or even
worth bothering with). My opinion.

Adding logging after the fact will work OK if the application itself is
well written. You can then carefully control how much logging happens
for usefully selectable parts of the app. As you've suggested, for a
badly written app this can be a challenge. And almost by definition, if
an app was written not to have logging, it probably is an app with issues.

A couple of real-world notes:

1. In contrast to the oft-repeated mantra that you should not turn
logging up to detailed, in production, until s**t happens, think again -
for a really hurting app (which is many or most of them) you may as well
take the minor performance hit and crank those logs right up. You'll
need the logs anyway.

2. For a large impenetrable application with no logging, you sometimes
get the most bang for the buck with "println" logging introduced with
aspects.

AHS

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

ArrayList in Eclipse Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-04-21 01:05 +0100
  Re: ArrayList in Eclipse Lew <noone@lewscanon.com> - 2011-04-20 22:52 -0400
  Re: ArrayList in Eclipse markspace <-@.> - 2011-04-20 20:01 -0700
    Re: ArrayList in Eclipse "Nasser M. Abbasi" <nma@12000.org> - 2011-04-20 21:21 -0700
      Re: ArrayList in Eclipse Lew <noone@lewscanon.com> - 2011-04-21 00:46 -0400
      Re: ArrayList in Eclipse Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-04-21 06:23 -0300
    Re: ArrayList in Eclipse Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-04-21 22:20 +0100
      Re: ArrayList in Eclipse Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-04-21 20:55 -0400
        Re: ArrayList in Eclipse markspace <-@.> - 2011-04-21 19:21 -0700
          Re: ArrayList in Eclipse Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-04-24 16:04 +0100

csiph-web