是否可以仅在控制台中显示具有特定单词的那些语句。
对于eq:
logger.debug ( "java: hello " );
logger.debug ( "groovy: hello " );
logger.debug ( "ruby: hello " );
现在,通过执行某些配置或其他任何操作,应显示以groovy开头的所有语句。
答案 0 :(得分:8)
您想使用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>
答案 1 :(得分:0)
如何创建海关级别
public class Groovy extends Level
然后在日志属性文件中将这些级别设置为您的配置
希望这有帮助, 大卫。
答案 2 :(得分:0)
可以使用不同的记录器(比如说“java”消息的记录器和“groovy”消息的记录器)。可以为每个记录器设置不同级别的Log4J配置。
您可以阅读更多here
答案 3 :(得分:0)
可以使用工具过滤掉邮件。对于Windows,您可以使用BareTail执行此操作。只有pro(付费)版本才能过滤消息。也许还有其他工具可以完成同样的工作。
答案 4 :(得分:0)
SLF4J标记可能适用于您的目的。所有打印方法,例如org.slf4j.Logger
admit a Marker as a first parameter中的调试和信息。此外,logback-classic,一个本机SLF4J实现,附带一个名为MarkerFilter
的过滤器,我认为它可以满足您的需求。