문제

특정 단어가있는 콘솔에 해당 진술 만 표시 할 수 있습니까?

EQ 용 :

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

이제 구성 또는 무엇이든 수행함으로써 Groovy로 시작하는 모든 진술 : 표시해야합니다.

도움이 되었습니까?

해결책

log4J를 사용하려고합니다 StringMatchFilter Apache 로깅의 "엑스트라"패키지의 일부입니다.

다음은 빠른 예입니다 온라인:

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

다른 팁

세관 수준을 만드는 것은 어떻습니까?

public class Groovy extends Level

그런 다음 로그 속성 파일에서 해당 레벨을 구성으로 설정합니다.

이것이 도움이되기를 바랍니다, 데이비드.

다른 로거 ( "Java"메시지의 로거와 "Groovy"메시지에 대한 하나)를 사용할 수 있습니다. LOG4J 구성은 각 로거에 대해 다른 레벨로 설정할 수 있습니다.

더 읽을 수 있습니다 여기

도구를 사용하여 메시지를 걸러 낼 수 있습니다. 창문의 경우이 작업을 수행 할 수 있습니다 바레 테일. 메시지 필터링은 Pro (유료) 버전에서만 가능합니다. 아마도 같은 작업을 수행하는 다른 도구가있을 것입니다.

SLF4J 마커는 아마도 당신의 목적에 적합 할 것입니다. 디버그 및 정보와 같은 모든 인쇄 방법 org.slf4j.Logger 마커를 첫 번째 매개 변수로 인정하십시오. 또한 기본 SLF4J 구현 인 Logback Classic은 MarkerFilter 내가 당신이 원하는 것을한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top