Java log4j不发送信息邮件

Java log4j不发送信息邮件,java,email,logging,smtp,log4j,Java,Email,Logging,Smtp,Log4j,我有一个问题:我有下面的lo4j.xml和类,但是我找不到如何配置log4j以便在类ERROR mails中有信息日志时发送邮件 这是我的log4j.xml: 你知道吗? 提前谢谢,很抱歉格式化了。。当我发现SMTPAppender by design仅记录错误和以上消息时,我会更正它 默认情况下,当出现错误或更高错误时,将发送电子邮件消息 附加严重性消息。可以修改触发条件 通过使用类的名称设置evaluatorClass属性 实现TriggeringEventEvaluator,设置eva

我有一个问题:我有下面的lo4j.xml和类,但是我找不到如何配置log4j以便在类ERROR mails中有信息日志时发送邮件

这是我的log4j.xml:

你知道吗?
提前谢谢,很抱歉格式化了。。当我发现SMTPAppender by design仅记录错误和以上消息时,我会更正它

默认情况下,当出现错误或更高错误时,将发送电子邮件消息 附加严重性消息。可以修改触发条件 通过使用类的名称设置evaluatorClass属性 实现TriggeringEventEvaluator,设置evaluator属性 使用TriggeringEventEvaluator实例或嵌套 指定类实现的triggeringPolicy元素 TriggeringEventEvaluator

设置阈值不起作用。您需要具有的自定义实现。下面的代码可以工作

<appender name="mailAppender" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="1" />
    <param name="SMTPHost" value="xxx" />
    <param name="SMTPPort" value="25" />
    <param name="SMTPUsername" value="xxx@xxx.fr" />
    <param name="SMTPPassword" value="xxx" />
    <param name="From" value="yyyy@yyyy.fr" />
    <param name="To" value="zzzz@zzzz.fr" />
    <param name="Subject" value="[Projet] - Message" />
    <param name="evaluatorClass" value="myapp.EmailTriggerEvaluator"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m%n"/>
    </layout>        
</appender>


public class EmailTriggerEvaluator implements TriggeringEventEvaluator {
    @Override
    public boolean isTriggeringEvent(LoggingEvent event) {
        return event.getLevel().isGreaterOrEqual(Level.INFO);
    }
}
public class Mailer {

    private static final Logger logger = Logger.getLogger(Mailer.class);
    private static final String MAIL_INFO_MESSAGE = "Bonjour,\nLe traitement suivant s'est déroulé avec succès :\n";
    private static final String MAIL_ERROR_MESSAGE = "Bonjour,\nUne erreur est survenue lors du traitement MGAS"
            + "\nVoici la trace de l'erreur relevée :\n\n";

    /**
     * Envoie un mail d'information
     * 
     * @param mailString
     */
    public void logSuccessMail(final String mailString) {
        logger.info(MAIL_INFO_MESSAGE + mailString);
    }

    /**
     * Envoie un mail d'erreur
     * 
     * @param mailString
     */
    public void logErrorMail(final String mailString) {
        logger.error(MAIL_ERROR_MESSAGE + mailString);
    }
}
<appender name="mailAppender" class="org.apache.log4j.net.SMTPAppender">
    <param name="BufferSize" value="1" />
    <param name="SMTPHost" value="xxx" />
    <param name="SMTPPort" value="25" />
    <param name="SMTPUsername" value="xxx@xxx.fr" />
    <param name="SMTPPassword" value="xxx" />
    <param name="From" value="yyyy@yyyy.fr" />
    <param name="To" value="zzzz@zzzz.fr" />
    <param name="Subject" value="[Projet] - Message" />
    <param name="evaluatorClass" value="myapp.EmailTriggerEvaluator"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m%n"/>
    </layout>        
</appender>


public class EmailTriggerEvaluator implements TriggeringEventEvaluator {
    @Override
    public boolean isTriggeringEvent(LoggingEvent event) {
        return event.getLevel().isGreaterOrEqual(Level.INFO);
    }
}