मुझे एक बेवकूफ जावा लॉगिंग समस्या है: मैं अपनी ऐप कॉन्फ़िगरेशन फ़ाइल से लॉगिंग कॉन्फ़िगरेशन लोड कर रहा हूं - लेकिन यह फ़ाइल को पढ़ने के बाद कुछ भी लॉग नहीं करता है (जो आपको नेट पर मिलने वाले उदाहरणों की तरह ही बहुत पसंद आएगा। अतिरिक्त एप्लिकेशन कॉन्फ़िगरेशन - इसे हटाने से भी मदद नहीं मिलती है)। "इनिशियलाइज़िंग ..." लॉग लाइन ठीक दिखाई देती है, लेकिन "शुरुआती ऐप" और किसी भी अन्य संदेशों को न तो कंसोल में लॉग किया जाता है, और न ही लॉगफ़ाइल कभी बनाया जाता है। मुझे यहां क्या समझ नहीं आ रहा है?
लकड़हारा कोड इस तरह दिखता है:
...
Logger log = Logger.getLogger("myApp");
log.setLevel(Level.ALL);
log.info("initializing - trying to load configuration file ...");
Properties preferences = new Properties();
try {
FileInputStream configFile = new FileInputStream("/path/to/app.properties");
preferences.load(configFile);
LogManager.getLogManager().readConfiguration(configFile);
} catch (IOException ex)
{
System.out.println("WARNING: Could not open configuration file");
System.out.println("WARNING: Logging not configured (console output only)");
}
log.info("starting myApp");
...
और यह कॉन्फ़िगरेशन फ़ाइल है:
appconfig1 = foo
appconfig2 = bar
# Logging
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level = ALL
# File Logging
java.util.logging.FileHandler.pattern = %h/myApp.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO
# Console Logging
java.util.logging.ConsoleHandler.level = ALL