logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jess Holle <je...@ptc.com>
Subject Re: JMX package
Date Mon, 10 Jul 2006 21:04:20 GMT
Jess Holle wrote:
> Curt Arnold wrote:
>> One things that seemed potentially interesting is to have a JMX 
>> appender that would allow log4j calls to generate JMX events.
> That would seem to be trivial.
> My approach has been to do any/all JMX notification in prior to and/or 
> in parallel to logging.  I do have JMX notification listeners that can 
> log the notification.
> To some degree, a log4j JMX notification appender seems like a 
> workaround for old code that really should be JMX instrumented and 
> doing notifications but which one does not own.  [For one thing, 
> though log4j allows the message to be an Object, which is very good, 
> the Object generally will not be a JMX open type (e.g. CompositeData 
> or TabularData), which JMX notification user data really should be -- 
> and thus it is probable that data structure loss will occur when a 
> general message Object is sent in a notification via logging -- at 
> least prior to Java 6 where more open-type conversion is automated.]  
> On the other hand, unless dealing in open source or doing consulting 
> your customers don't have your code, don't necessarily have the skill 
> to do the changes in any case, and may see needs for such 
> notifications that you cannot see initially.  For such cases, such an 
> appender seems like a very good thing.
> Dumb question along these lines: how does one reliably get the entire 
> MDC for a logging event, e.g. as a Map/Hashtable, from within an 
> appender?  I can see how to do everything else easily enough, but 
> that's one little nit.
I figured out the MDC stuff -- at least a reasonable if not foolproof 
approach -- and got everything working.  I did the code on company time, 
so I can't share it, but I can say that it is only about 400 lines total 
including the extra verbosity of shoving everything possible into the 
notification's user data as CompositeData and plenty of comments.

Jess Holle

View raw message