Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #3182
| 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 |
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 | Next — Previous in thread | Next in thread | Find similar
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