Reputation: 1103
I am using JMX Logger for monitoring java web application.MBean Server connect successfully and i see logs in JMX logger LoggerConsole but i dont know how to use Filter Expression in loggerconsole. this is my configuration file
<?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>
now my question is i want to filter trough raw data for example I am happy only what i will do? please help me
Upvotes: 3
Views: 430
Reputation: 42030
According to the Wiki 1 of JmxLogger, you need the parameter FilterExpression
. The expression use MVEL and the contains
operator can be useful. Then your appender
would be as follows:
<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>
Notes
Upvotes: 1