avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject Re: Logging, LogKit, JDK1.4 Logging ...
Date Thu, 29 Nov 2001 13:42:14 GMT
Vincent Massol wrote:


> Thoughts ?
> Thanks
> -Vincent
> Note: I have not looked in detail in the excalibur sources so I am not
> familiar to any problem my changes could have introduced for existing
> components. Is there a full unit tests suite that I could run and where can
> I find the requirements/instructions for running it (link with environment,
> ...) ? Any mock object tests ?

Vincent, what you have done is necessary, and very helpful.  Unfortunately,
it would break bacwards compatibility for ExcaliburComponentManager.  This
is very unfortunate, and I am still looking for an elegant solution.  I have
a feeling that the only elegant solution available to me is to have a clean
ComponentManager implementation--that must use a different name than the
ExcaliburComponentManager.  I find this frustrating to say the least, but
perhaps we can optimize the ComponentManagement implementations with the
new version--that will be LogEnabled clean.  People who have not upgraded
to the new interface will be stuck with ExcaliburComponentManager (as is
fitting because that is what they are likely to be using).

The problem with such a clean ComponentManager is that all Components used
in that system MUST be LogEnabled.  There is no method of obtaining a
LogKit Logger instance from a Framework Logger instance.  One of the design
strengths--and design weaknesses of the Logger interface is that the instances
are opaque.  They cannot be simply recast to the originating type.  This is
good for security and implementation hiding, but it is bad for complex beasts
like ComponentManager who have a right and a need to get at the LogKit Logger
for legacy Components.

I have been wanting to reimplement the ComponentManager infrastructure in
excalibur for a while--although I have not figured out how to free my time
to do it.  So far I can only make incremental changes.


"Those who would trade liberty for
  temporary security deserve neither"
                 - Benjamin Franklin

To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>

View raw message