Các JavaDocs chojava.util.logging.Level nhà nước:
Các mức theo thứ tự giảm dần là:
SEVERE(giá trị cao nhất)WARNINGINFOCONFIGFINEFINERFINEST(giá trị thấp nhất)
Nguồn
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));
}
}
}
Đầu ra
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 . . .
Báo cáo vấn đề
Ví dụ của tôi đặt Levelthành FINER, vì vậy tôi đã mong đợi thấy 2 thông báo cho mỗi vòng lặp. Thay vào đó, tôi thấy một thông báo duy nhất cho mỗi vòng lặp (các Level.FINEthông báo bị thiếu).
Câu hỏi
Điều gì cần thay đổi để xem FINE( FINERhoặc FINEST) đầu ra?
Cập nhật (giải pháp)
Cảm ơn câu trả lời của Vineet Reynolds , phiên bản này hoạt động theo mong đợi của tôi. Nó hiển thị 3 x INFOtin nhắn và 3 x FINEtin nhắn.
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));
}
}
}
