java - 仅显示选定的 Log4j 调试语句

标签 java log4j

是否可以在控制台中只显示那些包含特定单词的语句。

对于情商:

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

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

最佳答案

您想使用 log4j StringMatchFilter这是来自 apache 日志记录的“extras”包的一部分。

这是找到的一个简单示例 online :

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

关于java - 仅显示选定的 Log4j 调试语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/810545/

相关文章:

java - 禁用 log4j 日志记录到控制台

java - Spark 提交到 Amazon EMR 时如何指定自定义 log4j.configuration 的位置?

java - 使用正则表达式查找字符串中子字符串的多次出现

JavaFX 应用程序出现在 Windows 任务管理器中的 javaw.exe 下。我怎样才能让它显示为一个独立的应用程序

eclipse - OSGI(Eclipse RCP)下的Log4j

java - 通过 Try 和 Catch block 检查字符串和 Null 异常

java - 缓冲记录器 (Java)

java - 从 Uid 获取用户电子邮件,无需登录应用程序 Firebase

java - 使用 Dataflow API 启动时将参数传递给模板

Java - 如何显示一个输入对话框,其中包含一个下拉列表,每个项目都有一个图标?