定义SMTPAppender元素内的TriggeringPolicy元素。 TriggeringPolicy元素的类将是org.apache.log4j.rolling.FilterBasedTriggeringPolicy。
在TriggeringPolicy元素中,定义一个'filter'元素,其类是org.apache.log4j.filter.ExpressionFilter。
然后,您可以使用任何您想要的事件字段(并且使用'like'关键字支持正则表达式支持)来过滤事件。电锯的开发快照对表达式语法一个很好的教程:http://people.apache.org/~sdeboy
例子:
<appender name="mail" class="org.apache.log4j.net.SMTPAppender">
<param name="from" value="[EMAIL PROTECTED]" />
<param name="to" value="[EMAIL PROTECTED]" />
<param name="subject" value="Test message" />
<param name="SMTPHost" value="localhost"/>
<param name="sendOnClose" value="true"/>
<triggeringPolicy class="org.apache.log4j.rolling.FilterBasedTriggeringPolicy">
<filter class="org.apache.log4j.filter.ExpressionFilter">
<param name="Expression" value="(LOGGER ~= class1 && MSG ~= test1) || (logger ~= class2 && MSG like 'TEST2')"/>
</filter>
</triggeringPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{2} - %m%n"/>
</layout>
</appender>
我觉得这里这个答案将帮助:http://stackoverflow.com/questions/34931650/log4j- xml注入评估/ 34989591#34989591 – KKishore 2016-01-25 11:37:31