我正在使用JMX Logger监控java web应用程序.MBean Server连接成功,我看到JMX logger LoggerConsole中的日志,但我不知道如何在loggerconsole中使用Filter Expression。 这是我的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601}%-5p %c{1} - %m%n"/>
</layout>
</appender>
<appender name="jmxlogger" class="jmxlogger.integration.log4j.JmxLogAppender">
<param name="Threshold" value="ALL"/>
<param name="ObjectName" value="jmxlogger:type=LogEmitter"/>
<param name="MBeanServer" value="platform"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} - %m%n"/>
</layout>
</appender>
<root>
<priority value ="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="jmxlogger" />
</root>
</log4j:configuration>
现在我的问题是我想过滤原始数据,例如我很高兴我会做什么? 请帮帮我
答案 0 :(得分:1)
根据JmxLogger的Wiki 1 ,您需要参数FilterExpression
。表达式使用MVEL和contains
运算符非常有用。然后您的appender
将如下:
<appender name="jmxlogger" class="jmxlogger.integration.log4j.JmxLogAppender">
<param name="FilterExpression" value="rawMessage contains 'I am happy!'"/>
<param name="Threshold" value="ALL"/>
<param name="ObjectName" value="jmxlogger:type=LogEmitter"/>
<param name="MBeanServer" value="platform"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} - %m%n"/>
</layout>
</appender>
备注的