Java 如何在jmx logger LogConsole中使用筛选器表达式?

Java 如何在jmx logger LogConsole中使用筛选器表达式?,java,logging,log4j,monitoring,Java,Logging,Log4j,Monitoring,我正在使用JMX Logger监控java web application.MBean服务器连接成功,我在JMX Logger LoggerConsole中看到日志,但我不知道如何在LoggerConsole中使用筛选器表达式。 这是我的配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration

我正在使用JMX Logger监控java web application.MBean服务器连接成功,我在JMX Logger LoggerConsole中看到日志,但我不知道如何在LoggerConsole中使用筛选器表达式。 这是我的配置文件

<?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>

现在我的问题是我想过滤原始数据,例如我只高兴我将做什么? 请帮助我

根据的Wiki 1,您需要参数
FilterExpression
。表达式用法和运算符可能很有用。那么您的
追加器将如下所示:



谢谢您的回复。但是在我的应用程序中有太多的日志,如事务日志、异常日志、错误日志等。此时我需要在运行时搜索不同的原始数据。我将做什么?请帮助我。使用操作符
|
例如
rawMessage包含“我很高兴!”|rawMessage包含“有问题”| | exceptionName包含“JDBCException”
我们不知道整个应用程序中是否有不同的数据日志,这意味着有大量日志,到时候我会怎么做?如果在运行时获取应用程序中的错误或异常后需要过滤特定日志。在这种情况下,将更快。当我在xml文件中使用d | |时,它会给出一个异常。即log4j:WARN未能将属性[filterExpression]设置为值“原始消息包含‘我很高兴!’rawMessage包含“有问题”| | exceptionName包含“JDBCException”。java.lang.reflect.InvocationTargetException