2009-05-01 5 views
7

콘솔에 특정 단어가있는 명령문 만 표시 할 수 있습니까? EQ를 들어선택된 Log4j 디버그 문만 표시

:

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

, 일부 구성 또는 무엇이든을 수행하여, 그루비로 시작되는 모든 문 : 표시되어야합니다.

답변

8

더 읽을 수 있습니다.

여기에 빠른 예 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> 
+0

재미있을 것 같니, 정교하게 부탁해 주시겠습니까? –

0

무엇 세관 레벨

public class Groovy extends Level 

그리고 로그에 속성 구성으로 그 수준이 도움

희망, 데이비드 설정 파일을 작성 대해.

+0

데이비드 고맙습니다.하지만 정말로, 그런 것을 원하지 않습니다. –

0

다른 로거를 사용할 수 있습니다 (예 : "java"메시지 용 로거와 "groovy"메시지 용). Log4J 구성은 각 로거마다 서로 다른 레벨로 설정할 수 있습니다.

당신은 당신은 아파치 로깅에서 "엑스트라"패키지의 일부입니다 log4j에 StringMatchFilter를 사용하려면 here

0

하나는 메시지를 필터링 할 수있는 도구를 사용할 수 있습니다. Windows의 경우 BareTail으로이 작업을 수행 할 수 있습니다. 메시지 필터링은 프로 (유료) 버전에서만 가능합니다. 아마도 동일한 작업을 수행하는 다른 도구가있을 수 있습니다.

0

SLF4J 마커가 아마도 귀하의 목적에 적합합니다. 모든 인쇄 방법 (예 : 디버그 및 정보)은 org.slf4j.Loggeradmit a Marker as a first parameter입니다. 또한 logback-classic은 기본 SLF4J 구현으로 MarkerFilter이라는 필터를 제공합니다.

관련 문제