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]

Reply via email to