2017-05-24 4 views
0

Ich habe eine log4j.xml SMTPAppender Konfiguration wie folgt:log4j.xml smtpappender emailthrottle

<appender name="MAIL" class="org.apache.log4j.net.SMTPAppender"> 
    <param name="Threshold" value="ERROR"/> 
    <param name="EvaluatorClass" value="fi.reaktor.log4j.emailthrottle.ErrorEmailThrottle"/> 
    <param name="BufferSize" value="512"/> 
    <param name="SMTPHost" value="xxxx"/> 
    <param name="SMTPPort" value="25"/> 
    <param name="From" value="xxxx"/> 
    <param name="To" value="xxx"/> 
    <param name="Subject" value="xxx"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{dd/MM/yyyy HH:mm:ss} [%-5p] [%c{1}: %M] %m%n"/> 
    </layout> 
</appender> 

Ich verwende eine EvaluatorClass, die ich auf den Link empfohlen wurde: https://github.com/reaktor/log4j-email-throttle

Auf der Seite wurde markiert dass Sie die Standardkonfiguration in einer Datei log4j.properties ändern können:

fi.reaktor.log4j.emailthrottle.throttleIfUnderSecs=60 
    fi.reaktor.log4j.emailthrottle.emailIntervalInSecs=900 
    fi.reaktor.log4j.emailthrottle.normalAfterSecs=3600 

Leider sehe ich nicht, wie es in meiner log4j.xml Datei anzuwenden.

Antwort

0

Die Seite, die Sie beziehen sich sagt:

Sie können Eigenschaften, indem Sie diese Systemstandardwerte ändern So können Sie diese Einstellungen nicht in log4j Konfigurationsdatei setzen.

Sie müssen entweder diese Eigenschaften auf der Kommandozeile setzen, wo Sie Jvm, mit "D" Flagge starten:

java -Dfi.reaktor.log4j.emailthrottle.throttleIfUnderSecs = 60 \ -Dfi.reaktor.log4j.emailthrottle.emailIntervalInSecs = 900 \ -Dfi.reaktor.log4j.emailthrottle.normalAfterSecs = 3600

oder es aus dem Code festgelegt programmatisch:

System.setProperty("fi.reaktor.log4j.emailthrottle.throttleIfUnderSecs", "60"); 
System.setProperty("fi.reaktor.log4j.emailthrottle.emailIntervalInSecs", "900"); 
System.setProperty("fi.reaktor.log4j.emailthrottle.normalAfterSecs", "3600"); 
Verwandte Themen