----- Original Message -----
From: <[EMAIL PROTECTED]>
To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>;
"Morgan Delagrange" <[EMAIL PROTECTED]>
Sent: Wednesday, April 03, 2002 4:37 PM
Subject: Re: [logging] Need interface...


> On Wed, 3 Apr 2002, Morgan Delagrange wrote:
>
> > I _am_ saying that this interface doesn't make me happy, because as soon
as
> > we introduce it people will assert something like, "Commons Component X
does
> > not correctly implement the commons-logging component because Class Y
does
> > not implement the external configuration interface."  I do not want to
>
> Component X doesn't implement commons-logging, it just uses it.

But that's the expectation you introduce with that interface, that
components using commons-logging will implement a particular interface.

> And it was perfectly clear this is a marker interfaces, that'll just say
> that X supports runtime configuration of the logger.
>
> If X uses a different method to set the logger - then we have a small
> problem.
>
>
> > implement that interface in other Commons components; I don't think it's
> > worth it.  Therefore I don't support its introduction to the Commons
logger
> > component.
>
> I do have a problem with this kind of arguments - "I don't need it, so
> nobody needs it as well".

Again with the strange attributions.  I didn't say "I don't need it", I'm
saying it introduces the expectation that other Commons components (and any
other client of commons-logging) will implement it.

> I actually miss a lot the setDebug() model used in tomcat3 - where you can
> set debugging on a component level.  Yes, you can do the same by setting
> the property on the logger used by the component, but I think it's cleaner
> if this is part of the component configuration.
>
> Not all programs need runtime (re)configuration - but some do, and
> the fact that you don't need it in your programs shouldn't be a valid
> reson for -1.

You've misinterpreted my comments.  If I think it makes implementation of
commons-logging more confusing, that's a valid reason.

> I think this is a general enough problem.
>
>
> > I only said that, "In this particular case, [Commons component
developers]
> > do not require that an external framework/factory/whatever generate Log
> > objects for individual classes".  I didn't say that Commons components
> > should not have bean methods.  Of course they should, when appropriate.
I
> > don't think logging is one of those cases.  If we add this interface, I
fear
> > that some components will start to adopt it internally, while others
will
> > not.  That's what I mean by using the interface inconsistently.
>
> That's perfectly fine - components that need runtime changes in the log
> object will use it, those who don't will not use it.

I don't agree.  I think it's confusing if some components are externally
configurable and some are not.  I don't think you can cleanly categorize
components that need logging vs. those that don't.  Either the logs are
consistently assigned by package name, or they are externally assignable
(possibly defaulting to package name).  I don't think some combination
thereof is practical.  And I don't want to revisit all the components to
make their Logs externally assignable.

> If you want a property to be modifiable, you add a setter. That doesn't
> mean all properties must have setters, or you need a 'framework' to call
> the setters.
>
> Is the Logger instance something to modify ? Probably not, since it is
> just a named wrapper and you can change the object underneath.
>
> But having a setLogLevel() and setLogName() in a component that supports
> this is valid.
>
> Costin
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to