The goal was to get events generated by LogUI's logger calls to route to its 
own tab called "chainsaw-log".  

Ideally, other events which were handed over to Chainsaw via a receiver, but 
which didn't have the hostname & application properties defined would end up on 
a separate tab ("-" instead of "chainsaw-log").

I don't think this was actually happening with log4j 1.3 head anyway, so I can 
live with all events which don't have those two properties ending up on the 
chainsaw-log tab, if I have to.

I experimented with using MDC.set in place of the 
loggerrepositoryex.setproperty calls in LogUI.  It didn't work to just change 
the calls there - I actually had to call MDC.set in the ChainsawAppenderHandler 
constructor (which is who eventually processes the events).

I'm not sure if that's a bug, but it may be.

I'm going to commit the new pom.xml dependency in Chainsaw on the 
pattern-layout companion, but I'm going to wait to hear more from others before 
I do something about the MDC stuff.


Scott Deboy
COMOTIV SYSTEMS
111 SW Columbia Street Ste. 950
Portland, OR  97201

Telephone:      503.224.7496
Cell:           503.997.1367
Fax:            503.222.0185

[EMAIL PROTECTED]

www.comotivsystems.com



-----Original Message-----
From: Curt Arnold [mailto:[EMAIL PROTECTED]
Sent: Sun 6/10/2007 11:58 AM
To: Log4J Developers List
Subject: Re: logger repository properties & loggingevent
 

On Jun 10, 2007, at 2:57 AM, Scott Deboy wrote:

> log4j 1.3 included the ability to set properties at the logger  
> repository level (if it was a loggerrepositoryex) - logger  
> repository properties would be added to all events associated with  
> the repository.
>
> That feature isn't currently available in the 1.2.15 codebase, and  
> I was curious if it's something that we want to avoid because of  
> backward compatibility issues, or if it's ok to add the feature  
> back in.
>
> In Chainsaw, we use this feature to get all chainsaw-specific  
> logging events to route by default to a chainsaw-log tab.
>

log4j 1.3 reworked LoggingEvent significantly and introduced the  
serialization incompatibilities.  I'm not sure how many of those  
changes were related to repository properties.   I looked at the  
log4j 1.2 code and it looked like the easiest way would be to modify  
LoggingEvent.getMDC() and LoggingEvent.getMDCCopy() to get the  
logger's repo and then check for LoggerRepositoryEx.  However, before  
risking introducing an unintended side-effect on a significant code  
path, I'd really like to understand the immediate need of Chainsaw  
and try to find another approach would not have the same potential  
for calamity.

The only place LoggerRepositoryEx.setProperty() was used seemed to be  
around line 338 in o.a.l.chainsaw.LogUI.  Is there a specific reason  
why calling MDC.set() would not work?

<<winmail.dat>>

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

Reply via email to