Java log4j smtp追加器重写是否会产生意外行为?
出于某种目的,我重写了log4j smtp appender。问题是如果我保留Java log4j smtp追加器重写是否会产生意外行为?,java,spring,logging,log4j,Java,Spring,Logging,Log4j,出于某种目的,我重写了log4j smtp appender。问题是如果我保留,它就会正确地发送邮件。但是如果我保留,那么就不会发送邮件。有什么问题?请找到我的密码 public class MyAppender extends SMTPAppender{ @Override protected void sendBuffer() { //Some code to format email body } } log4j.xml 根据,所有值低于T
,它就会正确地发送邮件。但是如果我保留
,那么就不会发送邮件。有什么问题?请找到我的密码
public class MyAppender extends SMTPAppender{
@Override
protected void sendBuffer() {
//Some code to format email body
}
}
log4j.xml
根据,所有值低于Treshold的日志事件都将被过滤掉(即不发送)
将Treshold更改为限制性更强可能会过滤掉案例中记录的所有消息。
确保您确实有日志级别错误(或更高级别-致命)的事件
<!-- Appenders -->
<appender name="mail" class="com.service.MyAppender">
<param name="BufferSize" value="2"/>
<param name="BufferedIO" value="true"/>
<param name="Threshold" value="ERROR"/>
<param name="SMTPHost" value="myhost"/>
<param name="From" value="abc@co.com"/>
<param name="To" value="def@ld.com"/>
<param name="Subject" value="Testing Testing"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{2}:%L - %m%n"/>
</layout>
</appender>
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="500"/>
<appender-ref ref="mail"/>
</appender>
<root>
<level value="ERROR" />
<appender-ref ref="ASYNC" />
</root>
if(evaluator.isTriggeringEvent(event)) {
sendBuffer();
}