상태에 대한 JavaDocsjava.util.logging.Level
:
내림차순의 레벨은 다음과 같습니다.
SEVERE
(가장 높은 값)WARNING
INFO
CONFIG
FINE
FINER
FINEST
(가장 낮은 값)
출처
import java.util.logging.*;
class LoggingLevelsBlunder {
public static void main(String[] args) {
Logger logger = Logger.getAnonymousLogger();
logger.setLevel(Level.FINER);
System.out.println("Logging level is: " + logger.getLevel());
for (int ii=0; ii<3; ii++) {
logger.log(Level.FINE, ii + " " + (ii*ii));
logger.log(Level.INFO, ii + " " + (ii*ii));
}
}
}
산출
Logging level is: FINER
Jun 11, 2011 9:39:23 PM LoggingLevelsBlunder main
INFO: 0 0
Jun 11, 2011 9:39:24 PM LoggingLevelsBlunder main
INFO: 1 1
Jun 11, 2011 9:39:24 PM LoggingLevelsBlunder main
INFO: 2 4
Press any key to continue . . .
문제 설명
내 예는 설정 Level
에 FINER
내가 각 루프에 대한이 메시지를 볼 것으로 예상 그래서. 대신 각 루프에 대해 단일 메시지가 표시됩니다 ( Level.FINE
메시지가 없음).
질문
FINE
( FINER
또는 FINEST
) 출력 을 보려면 무엇을 변경해야 합니까?
업데이트 (솔루션)
Vineet Reynolds의 답변 덕분 에이 버전은 내 기대대로 작동합니다. 3 개의 INFO
메시지와 3 개의 메시지를 표시 FINE
합니다.
import java.util.logging.*;
class LoggingLevelsBlunder {
public static void main(String[] args) {
Logger logger = Logger.getAnonymousLogger();
// LOG this level to the log
logger.setLevel(Level.FINER);
ConsoleHandler handler = new ConsoleHandler();
// PUBLISH this level
handler.setLevel(Level.FINER);
logger.addHandler(handler);
System.out.println("Logging level is: " + logger.getLevel());
for (int ii=0; ii<3; ii++) {
logger.log(Level.FINE, ii + " " + (ii*ii));
logger.log(Level.INFO, ii + " " + (ii*ii));
}
}
}