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)WARNING
INFO
CONFIG
FINE
FINER
FINEST
(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 Level
thà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.FINE
thông báo bị thiếu).
Câu hỏi
Điều gì cần thay đổi để xem FINE
( FINER
hoặ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 INFO
tin nhắn và 3 x FINE
tin 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));
}
}
}