Hello Marcus! AT> 1) AbstractComponentHandler both AT> * is AbstractLogEnabledInstrumentable AT> * has it's own m_logger
MC> Yes, just noticed that myself too. :) AT> 2) It sort of enables its own logging but as late as AT> in service() method MC> Yes, but it only enables logging on the internal m_logger reference, the MC> getLogger() method from AbstractLogEnabledInstrumentable continues to MC> return null because from what I can see no call to enableLogging() has been MC> made. AT> 3) While it expects to find a LoggerManager in service() AT> AbstractContainer fails to push it there MC> Right - but I think it's in the parent ServiceManager passed into the MC> locally created one (by getServiceManager()). Ah, yes :) AT> There is also one thing I like about this all: to me it makes AT> sense to use a different logging category for the handlers then AT> for the container itself. MC> Yes. I agree. AT> I'm at doubt what to do, but clearly some cleanup is still pending :) 1) MC> Well, one option would be to remove the internal m_logger reference in MC> AbstractComponentHandler and have initialize call enableLogging() instead. MC> That would fix the problem I had and would keep the logging objects in sync. MC> It kind of abuses the lifecycle though - ie. setting the logger object in MC> initialize() rather than enableLogging(). :( 2) MC> Another way would be to calculate the handler's logging category in MC> AbstractContainer.getComponentHandler() and set it that way (ie. relocate MC> the current AbstractComponentHandler.initialize() logger category MC> calculation code). That's definitely more 'component oriented' - ie. the MC> component is passed it's logger, rather than obtaining it itself. MC> What do you think mate? I think 2) is better, and naturally we should remove m_logger artefact. After that it will better. BTW, the mail from you looked a bit funny in my mailer (TheBat!, a popular thing for people using cyrillics and a good one) - in fact it had CRLF broken 0D 0D 0A when I looked in the mbox analog of TheBat! (it uses just one big file, pretty like mbox). Had to manually erase every second line while writing this response. I personally suspect your Mutt :) In fact I have exercised installing Mutt myself under Linux a month ago, but I'm not using Linux heavily, so I can not confirm if my version did the mishandling. Probably it did not. -WBR, Anton --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
