On Mon, 2004-03-15 at 23:58, Lethin, Doug wrote: > 1. Whats the latest detail available for public consumption on domains? > Sometime back in Novemver or December, we got a small peek at domains > through one or two slides from ApacheCon. Its been a while since I've seen > those slides and can't seem to find them to refresh my memory. >
Volunteer work runs in bursts based on availability of time, and right now the whole dev team seems to be pretty much maxed-out, work/life-wise. It'll come, don't worry. > 2. Whats the relationship to domains and levels, and loggers again? > I'll leave Ceki to articulate that one more fully, I would not like to do an injustice to trying to cover the important bits. > Right now, I'm using log4j in the recommended way, I think, and that is to > name my loggers based on the name of the class performing the logging, ie: > > // psuedo-code here... > public class Dude > private Logger log = Logger.getLogger(Dude.class); > > This is well and good, but it limits my dimentionality. For instance, I > need to have "loggers" based on purpose: > > - a notification logger - for alerting operations > - an audit logger - send transaction result to a db > - a general application logger - for offline root cause analysis, etc. > Use separate Loggers for this: * keep your class lever logger as you have above * Define some constants that define the FQN of your Notification/Audit/General loggers, and then declare them inside _each_ class that you want to use them in. public class Dude private Logger LOG = Logger.getLogger(Dude.class); private Logger AUDIT_LOG = Logger.getLogger(MyConstants.AUDIT_LOGGER_FQN); private Logger GENERAL_LOG = Logger.getLogger(MyConstants.GENERAL_LOGGER_FQN); IMHO, this is preferable to having a Singleton for the non-class specific loggers (if a little more tedious, but IDE's with some form of template support help out here a lot). My rationale for that is: * You're dealing with 1 class (Logger), so there's consistency and readability in the code, and no need to wonder what else might be in the Singleton. * You are able to use the .isDebugEnabled() style methods to eliminate the cost of the log invocation. You could have the Singleton expose these methods as a delegate to Logger, but aren't you then duplicating most of what the Logger class does? I also think this pattern might/should/hope to be easily converted to a domain concept later on, but to be honest I am not sure. > 3.Is this the thing domains are trying to solve? > > 4. Whats the next milestone for the domain feature? paul.delegateTo(Ceki.getInstance()); cheers, Paul Smith --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
