을 필요 나는 당신의 가장 좋은 방법은 마커의 어떤 종류에 따라 로그 메시지를 필터링 할 StringMatchFilter를 사용하는 것이 좋습니다 것입니다. 여기
import org.apache.log4j.Logger;
public class Example1 {
private static final Logger logger = Logger.getLogger(Example1.class);
// This should probably go into a general purpose constants class of some kind
// but for simplicity of this example it's in here.
private static final String SPECIAL_MARKER = "SPECIAL";
public static void main(String[] args){
logger.debug("debug from my.Example1");
logger.info("info from my.Example1");
logger.warn("warning from my.Example1");
logger.error("error from my.Example1");
logger.fatal("fatal from my.Example1");
logger.info(SPECIAL_MARKER+" This goes in a special file");
}
}
의 log4j 속성입니다 : 여기에 몇 가지 예제 코드는
log4j.rootLogger=INFO, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=logs/special.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.R.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.R.filter.1.StringToMatch=SPECIAL
log4j.appender.R.filter.1.AcceptOnMatch=true
log4j.appender.R.filter.2=org.apache.log4j.varia.DenyAllFilter
대안이 어 펜더를 참조하는 로거 구성을 추가 한 다음 로거를 만들 것을 로거 이름을 사용하는 것입니다. 두 번째 로거를 선언해야 할 때처럼 덜 우아합니다.
예 자바 코드 :
import org.apache.log4j.Logger;
public class Example1 {
private static final Logger logger = Logger.getLogger(Example1.class);
private static final Logger specialLog = Logger.getLogger("special");
public static void main(String[] args){
logger.debug("debug from my.Example1");
logger.info("info from my.Example1");
logger.warn("warning from my.Example1");
logger.error("error from my.Example1");
logger.fatal("fatal from my.Example1");
specialLog.info("This goes in a special file");
}
}
log4j.properties 다음 "특수"로거 위의 예에서
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=logs/special.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.special=INFO, R, stdout
log4j.additivity.special=false
특별 로그 출력을 생성하는데 사용된다.