You can setup your log4j.properties as such to achieve this result (it
works for 1.2.7 and 1.2.8)

log4j.rootLogger=INFO, console
log4j.logger.javax.naming org.jnp=INFO, JNP
log4j.logger.org.jboss=INFO, JBoss

# console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-5p %c - %m%n

log4j.appender.JNP=org.apache.log4j.RollingFileAppender
log4j.appender.JNP.File=jnp.log
log4j.appender.JNP.MaxFileSize=1024KB
log4j.appender.JNP.MaxBackupIndex=50
log4j.appender.JNP.layout=org.apache.log4j.PatternLayout
log4j.appender.JNP.layout.ConversionPattern=%p %t %c - %m%n

log4j.appender.JBoss=org.apache.log4j.RollingFileAppender
log4j.appender.JBoss.File=perpetuum.log
log4j.appender.JBoss.MaxFileSize=1024KB
log4j.appender.JBoss.MaxBackupIndex=50
log4j.appender.JBoss.layout=org.apache.log4j.PatternLayout
log4j.appender.JBoss.layout.ConversionPattern=%p %t %c - %m%n 

Hope this helps

Jonathan

-----Original Message-----
From: Jeremy Whitlock [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 1 November 2005 5:15 AM
To: Log4J Users List
Subject: Re: Filter Based On Logging Class

Hey all,
I'm impressed with the quickness of your responses. I do not have access
to
1.3 yet since it's not final so I'll need something else. Here is what
I'm trying to do:

I'm embedding JNP from JBoss in my app. In doing so, JNP uses log4j for
it's own logging. I want all JNP related log messages to go into jnp.log
while the rest of the log messages go into perpetuum.log. All messages
should go into the console.

Does this make sense? If so, can you assist me? I've read a lot of the
examples online and in the javadoc but I don't see this being done,
atleast not the class stuff. I'll try the applicable suggestion from
James.

Take care,
Jeremy

On 10/31/05, Scott Deboy <[EMAIL PROTECTED]> wrote:
>
> If you can use log4j 1.3, you could use an ExpressionFilter, with the
> expression:
>
> CLASS ~= 'javax.naming' || CLASS ~= 'org.jnp.server'
>
> With acceptonmatch to false
>
> See JavaDoc for more info on the filter.
>
> http://svn.apache.org/viewcvs.cgi/logging/log4j/trunk/src/java/org/apa
> ch e/log4j/filter/ExpressionFilter.java?view=markup
>
> Some of the keywords you can use are:
> MSG, LOGGER, LEVEL, CLASS, FILE, LINE, METHOD, NDC, AND PROP.AAAA 
> (which allows you to filter on mdc with key AAAA)
>
> Chainsaw describes this stuff in detail in the tutorial.
>
> Scott
>
> -----Original Message-----
> From: Jeremy Whitlock [mailto:[EMAIL PROTECTED]
> Sent: Monday, October 31, 2005 1:01 PM
> To: Log4J-User
> Subject: Filter Based On Logging Class
>
> Hey all,
> I would like to implement a filter that would allow me to restrict 
> messages based on the class that is sending the LoggingEvent. So I 
> could have something like:
>
> <filter class="my.filter.Class">
> <param name="acceptOnMatch" value="false" /> <param name="expression"
> value="javax.naming org.jnp.server" /> </filter>
>
> And the filter would not log any class that created a LoggingEvent if 
> that class was in either of those packages. Is there one of these 
> available? If not, how should I go about writing one? I do not see how

> I can get the class from the LoggingEvent.
>
> Take care,
> Jeremy
>
> ---------------------------------------------------------------------
> 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