Sure, here is my config:

<!-- The SMTP appender -->
    <appender name="smtp_viol" class="org.apache.log4j.net.SMTPAppender">
        <param name="EvaluatorClass"
value="com.arrow.logging.CountingTriggeringEventEvaluator"/>
        <param name="BufferSize" value="25"/>
        <param name="From" value="[EMAIL PROTECTED]"/>
        <param name="To" value="[EMAIL PROTECTED]"/>
        <param name="Subject" value="Converter Mapping Error"/>
        <param name="SMTPHost" value="@SMTPHost@"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t][%p] - %m%n"/>
        </layout>
    </appender>

Then the class:

package com.arrow.logging;

import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.TriggeringEventEvaluator;

public class CountingTriggeringEventEvaluator implements
TriggeringEventEvaluator
{
    private static final int MAX_COUNTER = 25;
    private int counter = 0;

    public boolean isTriggeringEvent(LoggingEvent parm1)
    {
        return ((++counter % MAX_COUNTER) == 0); 
    }

}

Your problem is probably a classpath issue.

-----Original Message-----
From: James Noble [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 21, 2004 10:44
To: Log4J Users List
Subject: SMTPAppender EvaluatorClass Option


Has anyone successfully used the SMTPAppender EvaluatorClass option? When I
try to use my own evaluator class I get these error messages: 

    log4j:ERROR Could not instantiate class [my.package.TriggerOnWarn].
    java.lang.ClassNotFoundException: my.package.TriggerOnWarn
        [stack trace...]

TriggerOnWarn is implemented as follows: 

    package my.package;

    import org.apache.log4j.Level;
    import org.apache.log4j.spi.LoggingEvent;
    import org.apache.log4j.spi.TriggeringEventEvaluator;

    public class TriggerOnWarn implements TriggeringEventEvaluator {

        public boolean isTriggeringEvent( LoggingEvent event ) {
            return event.getLevel().isGreaterOrEqual( Level.WARN );
        }

    }

Besides implementing the TriggeringEventEvaluator interface, does the
evaluator class have to be a subclass of a particular class or in the
org.apache.log4j package? 

Thanks!
Jim

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