Java 仅显示选定的Log4j调试语句

Java 仅显示选定的Log4j调试语句,java,log4j,Java,Log4j,是否可以在控制台中仅显示那些具有特定单词的语句 对于eq: logger.debug ( "java: hello " ); logger.debug ( "groovy: hello " ); logger.debug ( "ruby: hello " ); 现在,通过进行一些配置或其他操作,所有以groovy:开头的语句都应该显示出来 创建海关关卡怎么样 public class Groovy extends Level 然后在日志属性文件中将这些级别设置为您的配置 希

是否可以在控制台中仅显示那些具有特定单词的语句

对于eq:

   logger.debug ( "java: hello " );
   logger.debug ( "groovy: hello " );
   logger.debug ( "ruby: hello " );

现在,通过进行一些配置或其他操作,所有以groovy:开头的语句都应该显示出来

创建海关关卡怎么样

public class Groovy extends Level
然后在日志属性文件中将这些级别设置为您的配置

希望这有帮助,
David。

可以使用不同的记录器(比如一个用于“java”消息的记录器和一个用于“groovy”消息的记录器)。可以为每个记录器设置不同级别的Log4J配置

如果您想使用log4j,您可以阅读更多内容,它是apache日志记录“extras”包的一部分

下面是一个快速示例:



人们可以使用一种工具来过滤消息。对于Windows,您可以使用。只有pro(付费)版本才可以过滤邮件。也许还有其他工具可以做同样的工作。

SLF4J标记可能适合您的目的。
org.slf4j.Logger
中的调试和信息等所有打印方法。此外,logback classic是一个本地SLF4J实现,附带了一个名为
MarkerFilter
的过滤器,我认为它可以满足您的需要

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="CustomAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="custom.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="maxBackupIndex" value="5"/> 
          <layout class="org.apache.log4j.PatternLayout">
                  <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n" />
          </layout>

          <filter class="org.apache.log4j.varia.StringMatchFilter">
                  <param name="StringToMatch" value="Here is DEBUG" />
                  <param name="AcceptOnMatch" value="true" />
          </filter>

          <filter class="org.apache.log4j.varia.DenyAllFilter"/>
  </appender>

  <root>
    <appender-ref ref="CustomAppender"/>
  </root>
</log4j:configuration>