I had tried adding a DenyAllFilter at one time and I still didn't get
the behavior I was looking for.

Just to be sure, I tried again today several scenarios:
1) The original scenario, using LevelRangeFilter for just TRACE messages
- no output in lcd.log

2) Same, but add DenyAllFilter as suggested.  Again, no output in
lcd.log

3) Change to LevelMatchFilter: LevelToMatch = TRACE; AcceptOnMatch =
true; with DenyAllFilter.  Now I get everything BUT TRACE messages in
lcd.log

4) Same as #3, but remove DenyAllFilter.  Same result

5) Same as #4: LevelToMatch = TRACE; but change AcceptOnMatch to false.
Same result, everything but TRACE in lcd.log

6) Just to be sure there is nothing specifc to TRACE messages, change
LevelTomatch = INFO, AcceptOnMatch to true; include DenyAllFilter.
Again, I get DEBUG messages into lcd.log (as well as the expected INFO
messages), but no TRACE messages.

Any other ideas on what I have set up incorrectly?  Or does this feature
have some problems?

Thanks again,
Beth


-----Original Message-----
From: Curt Arnold [mailto:[EMAIL PROTECTED] 
Sent: Sunday, February 03, 2008 8:57 AM
To: Log4J Users List
Subject: Re: logging only one level of messages


On Feb 2, 2008, at 4:14 PM, Beth Hechanova wrote:

> I switched my properties file to an xml configuration file and I still
> cannot get it to work.  I have tried both the LevelMatchFilter and the
> LevelRangeFilter.
>
>
>
> Below is my current configuration file:
>
> No matter what I try, I seem to either get nothing in the lcd.log  
> file,
> or all messages.  I only want trace messages.
>
>
>
> I changed from a LevelMatchFilter b/c I found someone complaining that
> it did not work - that the other levels returned "neutral", so they  
> too
> match (and indeed were logged to log file).  Then I tried specifying  
> the
> rest of the log levels - fatal, error, info, debug with a value of
> "false" for AcceptOnMatch.  That didn't work either.
>
>
>
> There seems to be something fundamentally that I am missing, but I  
> can't
> seem to figure it out.  What is the trick to using either a
> LevelMatchFilter or a LevelRangeFilter?
>
>
>
> Thanks,
>
> Beth
>
>


You need to throw a DenyAllFilter at the end to reject any logging  
events that remained neutral.
>
>

...
>
>  <appender name="lcd" class="org.apache.log4j.FileAppender">
>
>    <param name="File" value="/data/logs/lcd.log"/>
>
>    <layout class="org.apache.log4j.PatternLayout">
>
>      <param name="ConversionPattern" value="[%d{MM/dd/yyyy HH:mm:ss}]
> %-p - %m%n"/>
>
>    </layout>
>
>    <filter class="org.apache.log4j.varia.LevelRangeFilter">
>
>      <param name="LevelMin" value="TRACE"/>
>
>      <param name="LevelMax" value="TRACE"/>
>
>      <param name="AcceptOnMatch" value="true" />
>
>    </filter>
>

+<filter class="org.apache.log4j.filter.DenyAllFilter"/>


>  </appender>
>


---------------------------------------------------------------------
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