--- Sam Berlin <[EMAIL PROTECTED]> wrote:
> Hi Folks,
>
> There's been a number of times that we've been
> looking to debug things
> within httpcore & httpcore-nio, but have to resort
> to recompiling
> and/or using a debugger with breakpoints, due to no
> logging within the
> package. I can understand the desire to reduce
I somewhat disagree in that using a debugger with
breakpoints is considered a work-around: especially if
contrasted to speculative insertion of logging
statements that mess up otherwise clean code and only
provides useful information for narrow cases of
debugging.
To me, logging statements in production are generally
to be used for reporting unusual things happening, and
not for indicating normal control flow. If you want to
follow the control flow, stepping through the code in
debugger is the simplest way to go about it.
I do understand that debugging a multi-thread thing
obviously can be tricky, but same problems often apply
to logging, which flattens textual messages into
combined streams (except for the particular problem of
things timing out).
This is of course an area where styles and taste
differ a lot between developers. But I think perhaps
it'd be better to think hard about good ways to solve
the actual problem (how to debug problems that
commonly occur) instead of focusing on one particular
approach developers tend to take, regardless of
whether it is an optimal way. For me, a better
alternative often is to allow adding listeners for
events that are of interest during debugging (I think
there already are a few types one can attach so maybe
that path is already available and/or exhausted?).
This allows for developers to plug-in particular
diagnostics extensions they want, including simpler
loggers.
This is also one of few areas where aspect-oriented
stuff makes a lot of sense.
Just my 2 cents,
-+ Tatu +-
____________________________________________________________________________________
You rock. That's why Blockbuster's offering you one month of Blockbuster Total
Access, No Cost.
http://tc.deals.yahoo.com/tc/blockbuster/text5.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]