Hi Niclas,
Niclas Hedhman wrote:
IMHO, it is getting more and more apparent that "libraries" and apps expected
to get embedded to not depend on external logging frameworks in their code.
I totally agree.
To be brutally honest, I think we have spent too much time on logging
and have been unproductive by second guessing what might be required of
it. We've gone to quite a bit of effort to make SLF4J work, and we've
received negative yield, as far as moving ahead in DS is concerned.
We're back at square one, effectively. Square one, several months ago,
was where we made our original mistake:
Alex and I had a #directory-dev chat about introducing a proper logging
framework to ApacheDS. We decided to put in log4j. I made an initial
patch. The use of log4j was questioned. We opened a vote on which
logging framework to use. I initially voted for log4j. Some of us wanted
it, some of us didn't care, some of us argued for Commons Logging. Alex
ruled out Commons Logging, due its history of complexity. Someone
suggested SLF4J. I conceded on SLF4J, with the understanding that it was
compatible with Log4j. I made another patch ...
We lost the idea of KISS long ago. I'd advocate returning to it, while
we're back at square one again - use log4j. If we need to fit logging
into other frameworks we can wire loggers up to factories then.
Cheers,
Nick
Instead, create an ApacheDS specific, LoggerFactory and Logger instance that
is used throughout the Apache code. The LoggerFactory for standalone mode,
can default to Log4J if you like to, but it should allow for embeddors to
replace with their own provider.
Think IoC :o)
"If it is not provided to you, you can't use it."
Cheers
Niclas