On Mon, Jul 14, 2008 at 2:08 PM, Jeremy Haile <[EMAIL PROTECTED]> wrote: >> Everyone needs to get it out of your head that this is a full-blown >> logging abstraction framework or that it will need maintenance. We're >> not providing multiple implementations for Log4J or Logback, etc. Its >> just a graceful degredation and low-coupling mechanism. > > Why do you say this? What else is an abstraction framework if not a > low-coupling mechanism? SLF4J is a low-coupling mechanism so people don't > have to write their code around a specific logging framework.
Importing a 3rd-party API _all over_ your entire framework is _not_ low-coupling. SLF4J allows us to decouple from Log4J and logback or anything else, sure, but now we're tightly-coupled to SLF4J. Sure, that reduces risk, but its not as nice as it can be. > > Why do we have a low-coupling mechanism if we only provide one > implementation? This just seems completely unnecessary. Because our code is tightly-coupled to SLF4J, it _forces_ a dependency. My solution does not force it nor does it require polluting our entire framework with 3rd-party APIs. But, if you want to use SLF4J to abstract away a custom implementation, great! Our framework would still work perfectly in that environment too!
