Doug,

bq. It's tempting to add our own logging API, as you suggest, but I fear
that would re-invent what so many have re-invented before.

Haven't we already added our own logging API by introducing infoStream in
IndexWriter? All I'm proposing (as an alternative to Java logging) is to
make it a service for all of Lucene classes, even contrib. I didn't propose
to add Java logging-like capabilities, like levels (eventhough I think it's
useful), but instead take what IW has today (a message() method) and make a
static one for other classes.

bq. What do we tell folks who currently use both log4j and Lucene?  How
would they benefit from this?

I don't think it's such a big deal. To turn on Lucene logging, they have to
introduce some API (or UI) for users/administrators to configure. They then
probably set infoStream to the stream log4j uses.
By using Java logging, all we'll ask them is to configure the Java logging
system, which is pretty easy.

About SLF4J, I'm not familiar with it so I cannot comment. The only thing I
can comment about is the additional jar people would have to add to their
applications. That's really not an issue imo because people already add many
jars to support Lucene. If one uses any contrib package, it's an additional
jar. If one wants to use Snowball, it's 2 jars (the snowball and the contrib
analyzer).
When you use Apache HttpClient, you have to add several jars, which is ok
...

Grant,

What do you have against JUL? I've used it and in my company (which is quite
a large one btw) we've moved to JUL just because it's so easy to configure,
comes already with the JDK and very intuitive. Perhaps it has some
shortcomings which I'm not aware of, and I hope you can point me at them.

The argument on whether to choose JUL, commons, log4j or slf4j can go on, I
don't mind participating in it as I think it's interesting. But the core
question is whether the community (and especially the committers) think that
we need more logging in Lucene, except IW's infoStream. If so, we can start
by introducing that InfoStream service class, which willl only expose
today's functionality at start (i.e., only indexing code will use), but will
allow for other classes to log operations as well.

I personally would like to use more standard logging frameworks (and
preferrably JUL), but what I want more is the ability to debug my product
after it has been shipped. So eventhough it's not as great as standard
logging, the InfoStream service is still better than what Lucene has today.

My 2 cents.

Shai

On Sat, Dec 6, 2008 at 12:32 AM, Jason Rutherglen <
[EMAIL PROTECTED]> wrote:

> As a developer who would like to eventually develop core code in Lucene (I
> started but then things changed drastically and so will wait for flexible
> indexing and other APIs?), a standard logging system would make development
> easier by making debugging easier.  I rely heavily on log analysis in
> developing and debugging search code.  A detailed view of what is happening
> internally will speed development, and as Shai mentioned allow production
> and pre-production systems to be monitored in new ways.
>
> -J
>
>
> On Fri, Dec 5, 2008 at 1:19 PM, Doug Cutting <[EMAIL PROTECTED]> wrote:
>
>> John Wang wrote:
>>
>>> If we were to depend on a jar for logging, then why not log4j or
>>> commons-logging?
>>>
>>
>> Lucene is used by many applications.  Many of those applications already
>> perform some kind of logging.  We'd like whatever Lucene adds to fit in with
>> their existing logging framework, not conflict with it.  Thus the motivation
>> to use a meta-logging framwork like commons logging or slf4j.  And articles
>> like the following point towards slf4j, not commons logging.
>>
>> http://www.qos.ch/logging/thinkAgain.jsp
>>
>>
>> Doug
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

Reply via email to