"Craig R. McClanahan" wrote:
> 
getting in a bit late on this one but...

> On Wed, 15 Aug 2001, Jason van Zyl wrote:
> 
> >
> > I really donıt see any downside to binding to log4j in the components. Log4j
> > can easily integrate with anything that comes down the pipe in the future.
> >
> 
> From the perspective of a potential user of Commons components, there
> would be a very important downside to locking the components in to using
> Log4J -- that forces the user to use Log4J whether or not they want
> to.  (I'm not interested in arguments on why we might want to try to
> convince them otherwise -- not everyone is going to be converted :-).

You lock them in to whatever logging abstraction you provide as part of
commons. I don't see how you escape that.

> 
> It doesn't matter to such users that they can write adapters and Category
> implementations and such -- they already have their own logging
> environment, and want to use *that* instead without having to learn
> Log4J's configuration formats, or enough internals to integrate it.  To
> such users, tying commons components to Log4J will be a showstopper for
> using the commons components in the first place.

<snip>

> And, if you don't have Log4J installed, any log output created by Commons
> comopnents is silently thrown away -- you don't have to care at all about
> logging unless you want to.
> 

Ok, hypothetically speaking, lets say I'm in an environment where I have
"Acme Logging service" setup, and that's what I want to use for log
output. I have to either:

- if commons uses Log4j then I must write adapter classes to connect to
my logging service
or
- if commons uses a "logging abstraction layer", then I either accept
that because I'm not using log4j all logging output will be lost, or I
have to write adapter classes to connect to my logging service.

So in either scenario I have to:
"write adapter classes to connect to my logging service".

So what's the argument/discussion actually about? Whatever way you go,
if I use a weird and wonderful logging service and am unwilling to
change to log4j or whatever, then I have to write code to connect the
commons components together.

The only difference is whether I have to write to log4j API or the
simpler logging abstraction you talk about. 

It seems more likely that I will be able to find log4j support for my
logging service than for another abstraction layer - isn't that the
whole point of open source - someone needs to write an adapter to join X
to Y and hopefully it ends up with the log4j team? If more



Jari
--
Jari Worsley
Senior Programmer
Hyperlink Interactive Ltd

Reply via email to