콘솔에 특정 단어가있는 명령문 만 표시 할 수 있습니까? EQ를 들어선택된 Log4j 디버그 문만 표시
:
이제logger.debug ("java: hello ");
logger.debug ("groovy: hello ");
logger.debug ("ruby: hello ");
, 일부 구성 또는 무엇이든을 수행하여, 그루비로 시작되는 모든 문 : 표시되어야합니다.
콘솔에 특정 단어가있는 명령문 만 표시 할 수 있습니까? EQ를 들어선택된 Log4j 디버그 문만 표시
:
이제logger.debug ("java: hello ");
logger.debug ("groovy: hello ");
logger.debug ("ruby: hello ");
, 일부 구성 또는 무엇이든을 수행하여, 그루비로 시작되는 모든 문 : 표시되어야합니다.
더 읽을 수 있습니다.
여기에 빠른 예 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>
무엇 세관 레벨
public class Groovy extends Level
그리고 로그에 속성 구성으로 그 수준이 도움
희망, 데이비드 설정 파일을 작성 대해.
데이비드 고맙습니다.하지만 정말로, 그런 것을 원하지 않습니다. –
다른 로거를 사용할 수 있습니다 (예 : "java"메시지 용 로거와 "groovy"메시지 용). Log4J 구성은 각 로거마다 서로 다른 레벨로 설정할 수 있습니다.
당신은 당신은 아파치 로깅에서 "엑스트라"패키지의 일부입니다 log4j에 StringMatchFilter를 사용하려면 here
하나는 메시지를 필터링 할 수있는 도구를 사용할 수 있습니다. Windows의 경우 BareTail으로이 작업을 수행 할 수 있습니다. 메시지 필터링은 프로 (유료) 버전에서만 가능합니다. 아마도 동일한 작업을 수행하는 다른 도구가있을 수 있습니다.
SLF4J 마커가 아마도 귀하의 목적에 적합합니다. 모든 인쇄 방법 (예 : 디버그 및 정보)은 org.slf4j.Logger
admit a Marker as a first parameter입니다. 또한 logback-classic은 기본 SLF4J 구현으로 MarkerFilter
이라는 필터를 제공합니다.
재미있을 것 같니, 정교하게 부탁해 주시겠습니까? –