के लिए 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
, इसलिए मैं प्रत्येक लूप के लिए 2 संदेश देखने की उम्मीद कर रहा था। इसके बजाय मुझे प्रत्येक लूप के लिए एक संदेश दिखाई देता है (संदेश Level.FINE
गायब हैं)।
सवाल
FINE
(, FINER
या FINEST
) आउटपुट को देखने के लिए क्या बदलने की आवश्यकता है ?
अद्यतन (समाधान)
विनीत रेनॉल्ड्स के जवाब के लिए धन्यवाद , यह संस्करण मेरी उम्मीद के अनुसार काम करता है। यह 3 x INFO
संदेश, और 3 x 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));
}
}
}