At 06:31 PM 11/1/2003 -0600, Jacob Kjome wrote:
How was it established that domains will not replace levels?

Maybe that was just an assumption, on my part, but I did ask in a previous message if domains were going to replace levels, Also the release number, of 1.3 lead me to believe that this was a evolutionary not revolutionary change. If I am mistaken, then I would have to agree with Toby Butzon, that the next version is should be a 2.0 version since its use with existing code would be precluded.

I think I tend to agree with the next version of Log4j being called 2.0 rather than 1.3 since so much new functionality will be there. However, I have to disagree with your assumption that use of 1.3 or 2.0 with existing code would be precluded. No one has ever mentioned throwing out backward compatibility. As far as I know, Levels will not be going away, even if alternatives are being developed.

Domains will be encapsulated by Loggers so that the net version of log4j (1.3 or 2.0) will be *totally* compatible with existing code. In order words, you can count on 100% backward compatibility.


[large snip]

I haven't discussed this personally with Ceki, but I until I hear differently, I think the simple answer is "yes", levels *will* be supported in the next version of Log4j, possibly deprecated, though. The idea being eventual migration to logging domains, especially with newer codebases that don't yet have any dependency on levels. Consequently, the avoidance of adding new levels will probably encourage migration to logging domains.

Jake, thank you very much for taking the time to give a lengthy answer to Dennis. The prevailing sentiment in relation to domains seems to be confusion. This lack of clarity can be attributed entirely to me because I keep talking about domains without giving any precise details. Here are some details:


Domains result from an *internal* refactoring of loggers. In 1.2.8 a logger is:

1) an object where appenders can be attached to, and
2) an object which can decide whether a log statement is enabled or not

In the next version of log4j, a logger can be viewed as a shell around one or more domains, where domains are:

1) an object where appenders can be attached to, and
2) an object which can decide whether a log statement is enabled or not

A logger just glues multiple domains together. A logger has fixed rules defining the interaction of the domains it contains.

A hierarchy is a space where multiple domains live in a hierarchical setup. It can be viewed as a forrest where multiple trees (i.e. domains linked in a tree like structure) live.

I hope this sheds some light on this topic. Much better documentation will become available in the near future.

Coming back to the TRACE level, I think that domains may offer a better alternative. The ongoing discussion has raised some very interesting questions to which I do not have definitive answers.

Jake

-- Ceki Gülcü

     For log4j documentation consider "The complete log4j manual"
     ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp

     import org.apache.Facetime;
     ApacheCon US 2003, 18-21 November http://apachecon.com/



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



Reply via email to