2016-07-25 3 views
1

코드의 조각을보고하십시오 : 나는 그것을 컴파일하면log.info를 호출하면 출력이 생성되지 않는 이유는 무엇입니까?

import java.util.logging.Logger 

class Base { 

    Logger log = new Logger(Base.getClass().name); 

    static main(args) { 
    def b = new Base(); 
    b.log.info('hello'); 
    } 

} 

나는 오류 또는 경고가 표시되지 않습니다. 하지만 실행하려고하면 빈 출력이 표시됩니다. 왜?

답변

4

Logger을 인스턴스화하지 말고 Logger.getLogger()을 사용하여 원하는 로거를 검색/생성하십시오. 당신이 new Logger()을 사용하려는 경우 당신은 당신에게 로그 출력을 보여 핸들러를 할당해야처럼

Logger LOGGER = Logger.getLogger(Base.class.name) 
LOGGER.info('hello') 

그러나, 그것은 보인다.

Logger LOGGER = new Logger(Base.class.name) 
LOGGER.addHandler(new java.util.logging.ConsoleHandler()) 
LOGGER.info('hello') 
+0

Thx. 그걸 몰랐어. – Josua

관련 문제