On Sat, 15 Sep 2001 03:12, COFFMAN Steven wrote:
> If the various Logging solutions will be consumed by the JDK standard, you
> only get to decide when to break backwards compatibility, not if, since
> you'll need to shift from LogKit to JDK 1.4 in Avalon. Since some platforms
> will inevitably lag behind (like BSD, AS400) others, making a generic
> interface that supports both before then might be useful.
agreed.
> > Thats similar to what I proposed ages ago to Ceki and it is also similar
>
> to
>
> > the proposal in jakarta commons. The problem is that adopting such an
> > interface doesn't really gain you anything. It just creates a 6th API
> > that
> >
> > you have to learn.
>
> I'm confused. If the Avalon interface Loggable is generic, then I only need
> to learn that one and I probably only already know at most one (LogKit,
> Log4J, JDK 1.4, etc.) which is the one I want to plug in for consistantcy.
> The guy that wrote the generic API needs to know all six but few others
> would bother.
I guess I wasn't clear ;)
I don't mind a writeable generic interface (like that in Loggable proposal
directory) and think that is a great idea. I could even be convinced I
suspect that a generic LoggerFactory interface that is grabbed like JAXP
picks up compilers may be a good idea.
However interfaces that do "management" functions ie virtually any of set*()
or specify logging constants (like levels/priorities/whatever) except
implicitly, assume too much about the underlying architecture IMHO. Virtually
all get*() functions could also be eliminated (except the is<Level>Enabled()
which is an optimization thing).
So a basic Logger interface is good - its when you start adding all the
mutators and accessors and other management functions that it becomes bad
because then you have just created a new Logging API ;/
--
Cheers,
Pete
---------------------------------------------------
"Wise men don't need advice. Fools don't take it."
-Benjamin Franklin
---------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]