I have written a couple of filters that 'decorate' logging events - that
may be a better route to go.  See PropertyFilter and ReflectionFilter
here:
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4
j/varia/

In particular, ReflectionFilter sets the 'renderedMessage' on the event,
which would probably be what you want to do.  You may want to consider
relying on the Expression mechanism (see ExpressionFilter in the same
package) as a flexible way to determine which events have the filter
applied.

I haven't worked much with PaternLayout so I'm not sure how you would
use it in a filter.

Scott

-----Original Message-----
From: F Kurzawa [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 27, 2004 10:37 AM
To: Log4J Users List
Subject: RE: Decorating output before RollingFileAppender


Hi Yoav,

I might be able to do what I want by extending RollingFileAppender, but
a simpler solution for me would probably be to extend AsyncAppender to
accept a PatternLayout parameter and then apply it before outputting to
the next appender.

Regardless, I was really hoping for a solution that would not require
extending log4j. I was hoping there was a way to decorate log entries
"inline" by passing them through some sort of filter, much the way that
AsyncAppender acts as a filter of sorts in front of another appender.

Regards,

Frank


--- "Shapira, Yoav" <[EMAIL PROTECTED]> wrote:

> 
> Hi,
> You can always extend either RollingFileAppender or PatternLayout to 
> suit your own needs.  That's a big plus of open-source and our ASF 
> license ;)
> 
> Yoav Shapira
> Millennium Research Informatics
> 
> 
> >-----Original Message-----
> >From: F Kurzawa [mailto:[EMAIL PROTECTED]
> >Sent: Tuesday, July 27, 2004 12:37 PM
> >To: Log4J Users List
> >Subject: RE: Decorating output before RollingFileAppender
> >
> >Hi James,
> >
> >Sorry I wasn't clearer.
> >
> >I need to be able to decorate the output BEFORE RollingFileAppender.
> This
> >is
> >because I need to have different lines laid out out differently
> depending
> >on
> >which logger that they came from. I don't have enough control with 
> >the single PatternLayout within RFA to get the different formatting 
> >that I need.
> >
> >The intuitively obvious approach was to use multiple
> RollingFileAppenders,
> >each
> >of which would write to the same file. But RollingFileAppender 
> >becomes
> very
> >confused if other RFA's are writing to the same file, and the file
> starts
> >getting rotated willy-nilly as each RFA steps on the other.
> >
> >So that approach won't work.
> >
> >Regards,
> >
> >Frank
> >
> >--- James Stauffer <[EMAIL PROTECTED]> wrote:
> >
> >> RollingFileAppender extends FileAppender so it takes a 
> >> PatternLayout
> >also.
> >>
> >> James Stauffer
> >>
> >>
> >> -----Original Message-----
> >> From: F Kurzawa [mailto:[EMAIL PROTECTED]
> >> Sent: Tuesday, July 27, 2004 10:55 AM
> >> To: Log4J Users List
> >> Subject: Decorating output before RollingFileAppender
> >>
> >>
> >> I want to format and modify my log4j output prior to sending to a 
> >> RollingFileAppender.
> >>
> >> If there were functionality that would allow me to easily apply a 
> >> PatternLayout prior to sending to a RollingFileAppender that would 
> >> be
> >ideal.
> >>
> >> I can insert an AsyncAppender before my RollingFileAppender, but 
> >> AsyncAppender does not take a PatternLayout parameter so it doesn't
> help.
> >>
> >> In fact, the only two appenders that take PatternLayout arguments 
> >> are
> the
> >> *FileAppender's and ConsoleAppender.
> >>
> >> Is there a simple way to decorate my output with a PatternLayout 
> >> (or
> some
> >> similar functionality) prior to its arrival in a 
> >> RollingFileAppender?
> >>
> >> Thanks in advance,
> >>
> >> Frank
> >>


=====
Frank Kurzawa
Topaz Software
[EMAIL PROTECTED]


                
__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now. 
http://messenger.yahoo.com

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


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

Reply via email to