का अक्षम उपयोग मैं अपने जावा-एप (नेटबीन के साथ आईडीई के साथ) में लॉगर बना रहा था, अचानक अचानक मैंने एक चेतावनी देखी: "लॉगर में स्ट्रिंग कॉन्सटेनेशन का अक्षम उपयोग"।स्ट्रिंग कॉन्सटेनेशन
मेरे oringinal कोड
srcLogger.getLogger().log(Level.INFO,"UploadBean.doUpload completado [" + file.getName() + "]\n");
है, लेकिन NetBeans एक टेम्पलेट को परिवर्तित करने का सुझाव दिया इस कोड को दे रही है (जो एक "टेम्पलेट" यहाँ का मतलब है?): क्या इन दोनों के बीच अलग है
srcLogger.getLogger().log(Level.INFO, "UploadBean.doUpload completado [{0}]\n", file.getName());
संगतता के दो तरीके, मैंने कभी बाद वाले का उपयोग नहीं किया।
चीयर्स।
चेतावनी को बंद करने के लिए (नेटबीन 7.2.1 में): प्राथमिकताएं -> संपादक -> संकेत -> लॉगिंग -> लॉगर में स्ट्रिंग कॉन्सटेनेशन। विवरण कहता है, " यह लॉगर संदेशों में तारों को संयोजित करने के लिए प्रदर्शन करने योग्य नहीं है। प्लेसहोल्डर के साथ एक टेम्पलेट संदेश का उपयोग करना बेहतर है, जिसे कंक्रीट मानों द्वारा प्रतिस्थापित किया जाता है जब संदेश वास्तव में लॉग इन होने जा रहा है।" –
असल में आप प्रमुख फायदों में से एक को याद करते हैं, मैं देर से होने के बावजूद एक उत्तर जोड़ूंगा :) –
लेकिन चेतावनी हमेशा निष्पादित करने के विरोध में एक अक्षमता है क्योंकि इसे केवल वर्तमान लॉगिंग स्तर के आधार पर निष्पादित करने के विरोध में ['लॉग (स्तर स्तर, स्ट्रिंग संदेश, ऑब्जेक्ट [] पैरा) का उपयोग करने के लिए '] (https://docs.oracle।com/javase/8/docs/api/java/use/logging/logger.html # log-java.util.logging.Level-java.lang.String-java.lang.Object: A-) विधि। – Adam