On Thu, 4 Apr 2002, Richard Sitze wrote: > I don't see the value of the interface w/o framework as-per your comments > below. You CANNOT use the interface for "totally generic code" without > forcing a framework into the code also... SOMETHING has to attach an > implementation to the logger, via pull (factory) or push (external > dependencies) model. So, you are going to be subscribing to one or the > other.
Again - please define 'framework' and 'component'. Compare c-l with JAXP or JDBC or JNDI - are those 'frameworks' ? They have exactly the same properties as commons-logging - they define ways to register and retrieve 'drivers' ( parsers, contexts ), and interfaces for those drivers ( Log, Context, DOM, SAX, etc). We curently define one mechanism for registration/discovery, exactly the one used by JAXP. Is Jaxp or JDBC 'perfect' ? I don't think so. Is it useable ( or 'good enough' ) for most of us. Same for the current LogFactory. Does any of those APIs force you to write the apps in a certain way in order to use them ( besides what they define in order to interact with the API itself ) ? I don't think so. Regarding the 'exclusive' decision - either push or pull: I really don't see why do you think it has to be exclusive ( one or the other ). Both are valid - I think we agree with that, even if each person has different preferences. And imposing your taste on others ( by saying 'one way or the other' or -1 attempts to support a different pattern ) is as bad as what Avalon is doing with the IoC. The fact that we use the different (exclusive) pattern doesn't make it different. Supporting multiple discovery and configuration mechanisms in commons-logging is essential if we really want it to be 'common' and 'shared'. As for the (absurd IMHO) claim that introducing a new interface will make people believe each component _must_ support it - do you believe the same when you use JDBC ? If you use DriverManager, do you feel required to also use the JNDI ? There are 2 mechanisms, you can pick one ( or both) and there's no confusion ( I hope ). JAXP provides 2 parsing mechanisms - SAX and DOM, one pull the other push. There is no confusion or requirement to use both in you code. You choose what you like and fits your needs. Costin -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>