2016-06-03 2 views
0

다음을 입력하여 로거를 사용 중지하려고했지만 서버가 여전히 메시지를 로깅하는 것으로 보입니다.HtmlUnit에 대한 log4j 로거 끄기

static { 
    Logger htmlUnitLoggger = Logger.getLogger("com.gargoylesoftware.htmlunit"); 
    htmlUnitLoggger.setLevel(Level.OFF); 
    htmlUnitLoggger.setAdditivity(false); 

    Logger httpLogger = Logger.getLogger("org.apache.http"); 
    httpLogger.setLevel(Level.OFF); 
    httpLogger.setAdditivity(false); 
} 

내 데스크톱에서는 작동하지만 서버에서는 작동하지 않는 것 같습니다.

+1

log4j.property/xml 파일을 사용하고 있지 않습니까? 이 코드가있는 클래스가 인스턴스화되기 전에 로그가 표시됩니다. 어쩌면 Logger.getRootLogger()를 사용해보십시오. – caburse

+0

맞습니다. log4j.properties 또는 .xml 파일을 사용하고 있지 않습니다. 이 객체의 로그 만 끄고 싶습니다. 서버에 log4j.properties 파일이 있습니다. – cheyrico2

답변

1

log4j.properties를 사용하는 경우이 파일에 추가하십시오.

log4j.logger.com.gargoylesoftware=OFF 
log4j.logger.org.apache.http=OFF 
log4j.logger.org.mongodb.driver.cluster=OFF 
log4j.logger.org.mongodb.driver.connection=OFF 
log4j.logger.org.mongodb.driver.protocol.command=OFF 

HtmlUnit은 프로젝트에서 사용 가능한 로거를 자동으로 선택하는 commons logging을 사용합니다. 각 클래스는 클래스 이름으로 로거를 실행합니다. 위의 코드는 각 클래스의 로거를 사용 중지합니다.

관련 문제