Alexander Wolff | 20 Jul 06:54

how to configure a "deny stringmatch filter"

the following filter:
 
<filter type="log4net.Filter.StringMatchFilter">
    <stringToMatch value="database" />
</filter>
 
Look for the substring 'database' in the message text of the event, in the case that text is found the filter is ACCEPTED and the message is logged. OK
 
I want to configure a filter that DENY the substring 'database' (don't log the message)
 
how can I configure that?
 
thanks in advance,
Alexander Wolff
Daniel Williams | 20 Jul 15:38

Re: how to configure a "deny stringmatch filter"

I believe this will work:

<filter type="log4net.Filter.StringMatchFilter">
    <stringToMatch value="database" />
    <acceptOnMatch="false"/>
</filter>
<filter type="denyAllFilter"/>

If not this exactly, then search for acceptOnMatch and see what the
right settings are.

Cheers,
Daniel Williams

On Sat, Jul 19, 2008 at 10:55 PM, Alexander Wolff
<awolff <at> concepto.com.uy> wrote:
> the following filter:
>
> <filter type="log4net.Filter.StringMatchFilter">
>     <stringToMatch value="database" />
> </filter>
>
> Look for the substring 'database' in the message text of the event, in the
> case that text is found the filter is ACCEPTED and the message is logged. OK
>
> I want to configure a filter that DENY the substring 'database' (don't log
> the message)
>
> how can I configure that?
>
> thanks in advance,
> Alexander Wolff
>

Alexander Wolff | 21 Jul 20:27

Re: how to configure a "deny stringmatch filter"

I tried but...

To be concrete, which I need is not to record in the log file (Im using FileAppender in this case) messages which contain string "ORA-00001"

Then I tried with the following filter:

        <filter type="log4net.Filter.StringMatchFilter">
            <acceptOnMatch value="false" />
            <stringToMatch value="ORA-00001" />
        </filter>

But..errors messages with "ORA-00001" are logged :(

Peculiarly, with the following filter:

        <filter type="log4net.Filter.StringMatchFilter">
            <acceptOnMatch value="true" />
            <stringToMatch value="ORA-00001" />
        </filter>
        <filter type="log4net.Filter.DenyAllFilter" />

Only messages that contain the string "ORA-00001" are logged (OK, it's the behavior that I would hope)

And with the following filter:

        <filter type="log4net.Filter.StringMatchFilter">
            <acceptOnMatch value="false" />
            <stringToMatch value="ORA-00001" />
        </filter>
        <filter type="log4net.Filter.DenyAllFilter" />

No message is recorded in log (OK, it's the behavior that I would hope)

Some Idea?


2008/7/20 Daniel Williams <dlwiii <at> gmail.com>:
I believe this will work:

<filter type="log4net.Filter.StringMatchFilter">
   <stringToMatch value="database" />
   <acceptOnMatch="false"/>
</filter>
<filter type="denyAllFilter"/>

If not this exactly, then search for acceptOnMatch and see what the
right settings are.

Cheers,
Daniel Williams

On Sat, Jul 19, 2008 at 10:55 PM, Alexander Wolff
<awolff <at> concepto.com.uy> wrote:
> the following filter:
>
> <filter type="log4net.Filter.StringMatchFilter">
>     <stringToMatch value="database" />
> </filter>
>
> Look for the substring 'database' in the message text of the event, in the
> case that text is found the filter is ACCEPTED and the message is logged. OK
>
> I want to configure a filter that DENY the substring 'database' (don't log
> the message)
>
> how can I configure that?
>
> thanks in advance,
> Alexander Wolff
>


Gmane