Logback.xml के लिए XML स्कीमा या DTD?


108

मैंने नेट पर कई चर्चाएँ देखी हैं कि logback.xml फ़ाइल के लिए XML स्कीमा या DTD का होना कितना शानदार होगा, कम से कम बहुत ही बुनियादी सत्यापन और IDE या Eclipse जैसे IDE में स्वत: पूर्ण होने के लिए, लेकिन मैंने कभी नहीं देखा कोई भी समाधान।

क्या तुमने किया?


38
जहाँ तक सत्यापन और स्वतः पूर्ण होने की बात है, नीचे उत्तर देखें ... लेकिन मुझे चेतावनी देने के लिए ग्रहण करने के लिए, मैं एक भरोसेमंद पुराने DTD का उपयोग करता हूं <!DOCTYPE configuration>। अपनी परियोजनाओं पर चेतावनी नहीं दे सकता, OCD मुझे लगता है।
लुकास

6
@ लुकास ऐसा नहीं है कि ओसीडी मैं कहूंगा। अप्रासंगिक चेतावनी महत्वपूर्ण चेतावनी को छाया कर सकती है। बस मेरे साथ हुआ।
रफनेस जूल

2
मैं उस तरह से भी थोड़ा मजबूर हूँ, लेकिन इसे जोड़ रहा हूँ <! DOCTYPE कॉन्फ़िगरेशन> लाइन जैसा कि आपने सुझाव दिया कि मेरे लिए चेतावनी को हटाने के लिए कुछ नहीं किया ... कोई विचार ??
मार्क

1
<! DOCTYPE कॉन्फ़िगरेशन> लाइन को जोड़ने के बाद, संदर्भ-मेनू 'मान्य' के माध्यम से सत्यापन को ट्रिगर करना होगा।
मैनुएल

जवाबों:


31

यह प्रलेखन के अनुसार आधिकारिक तौर पर समर्थित नहीं है , लेकिन लॉबैक के लिए स्कीमा प्रदान करने के लिए एक स्वतंत्र परियोजना है

हालाँकि, लॉगबैक कॉन्फ़िगरेशन के अत्यधिक लचीलेपन के कारण, स्कीमा सभी संभव कॉन्फ़िगरेशन विकल्पों का समर्थन नहीं कर सकता है।


1
यह समाधान काम करता है। बस के logback.xsdरूप में एक ही निर्देशिका में डाल दिया logback.xmlऔर इसे अपने प्रोजेक्ट में मैन्युअल रूप से जोड़ें। IntelliJ में, उदाहरण के लिए, आप Settings > Languages & Frameworks > Schemas and DTDsबाहरी संसाधन जोड़ने के लिए हरे "+" पर क्लिक करेंगे। के http://ch.qos.logback/xml/ns/logbackस्थान पर "URI" और "स्थान" पर सेट करें logback.xsd
जोनाथन लैंड्रम

1
मैंने अभी इस प्रोजेक्ट की logback.xsd फ़ाइल के लिए एक url शॉर्टनर बनाया है, और यह उम्मीद के मुताबिक काम कर रहा है। आप उपयोग कर सकते हैंxsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Osguima3

81

जून 2011 तक, आधिकारिक दस्तावेज बताता है

जैसा कि स्पष्ट हो जाएगा, लॉगबैक कॉन्फ़िगरेशन फ़ाइलों का सिंटैक्स बेहद लचीला है। जैसे, DTD फ़ाइल या XML स्कीमा के साथ अनुमत सिंटैक्स निर्दिष्ट करना संभव नहीं है।

हुई एक संक्षिप्त धागा विषय पर है, लेकिन कहीं भी जाने के नहीं मालूम था।


13
उसी तरह से कि अंग्रेजी भाषा बेहद लचीली है, इसलिए इसका कोई व्याकरणिक नियम नहीं है ???? क्या बहाना है!
केन एल्टन

77

बस ग्रहण के <!DOCTYPE xml>बाद कष्टप्रद चेतावनी से छुटकारा पाने के लिए <?xml version="1.0" encoding="UTF-8"?>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>

इसे ठीक करने के बाद विस्मयादिबोधक बिंदु आइकन से छुटकारा पाने के लिए, आपको फ़ाइल को राइट-क्लिक करके और चुनने पर सत्यापन को फिर से ट्रिगर करना पड़ सकता है Validate


3
@Lucas की टिप्पणी के अनुसार, उपयोग करें <!DOCTYPE configuration>। यह मेरे लिए काम करता हैVersion: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
Shamal Karunarathne

इसे ठीक करने के बाद विस्मयादिबोधक बिंदु आइकन से छुटकारा पाने के लिए, जैसा कि @Manuel ने कहा, फ़ाइल को राइट-क्लिक करके और "वैलिडेट" चुनकर सत्यापन को फिर से ट्रिगर करें।
नौमेनन

1
@ नौमेनन मैं अपने जवाब में आपकी टिप्पणी जोड़ दूंगा। धन्यवाद!
एड्रियन बेर

3

स्वतंत्र परियोजना सेर्गेई ने उल्लेख किया मेरी आवश्यकताओं के सबसे को कवर किया।

हालाँकि, कुछ तत्व गायब थे, मैंने उन्हें https://github.com/nkatsar/logback-XSD पर अपने कांटे पर जोड़ा । आशा है कि वे मुख्य परियोजना में विलीन हो जाएंगे।


इसे अब मर्ज कर दिया गया है। गिथब नेटवर्क ग्राफ के अनुसार , एनरिकोपुलताज़ो का स्कीमा सबसे अमीर स्रोत है।
ओलिवियर Cailloux

2
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">

GitHub से "Logback के लिए एक XML स्कीमा परिभाषा" https://github.com/nkatsar/logback-XSD


जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
रोहित गुप्ता

1
उस रेपो में कितना पूर्ण समर्थन है?
व्लादिस्लाव रैस्ट्रुसनी

मेरे जैसे आने वाले वर्षों के लिए, पिछले xsd स्थान अब मान्य नहीं है। आप पिछले प्रतिक्रिया में बताए अनुसार git.io/logback.xsd का उल्लेख कर सकते हैं
gavard.e

0

थोड़ा अलग उत्तर जो ग्रहण को स्वतः पूर्ण करने की अनुमति देता है:

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.padual.com/java/logback.xsd" 
    debug="true" packagingData="true" scan="true" scanPeriod="30 seconds">
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.