संस्करण के लिए org.slf4j में लॉगिंग कैसे सक्षम करें: स्प्रिंग बूट में '2.0.0-अल्फा 1'


11

मैंने सभी लॉग को प्रिंट करने के लिए SLF4J लॉगिंग का उपयोग किया है। मैं org.slf4j के नवीनतम संस्करण का उपयोग कर रहा हूं।

कार्यान्वयन 'org.slf4j: slf4j-api: 2.0.0-alp1'

कार्यान्वयन 'org.slf4j: log4j-over-slf4j: 2.0.0-alp1'

लेकिन मुझे निम्नलिखित त्रुटि मिल रही है और साथ ही कोई लॉग भी प्रिंट नहीं हो रहा है।

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
SLF4J: Ignoring binding found at [jar:file:/home/user/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.

लॉग पुराने संस्करण (1.7.25) के साथ ठीक काम कर रहे हैं। क्या परियोजना में कुछ जोड़ने या कॉन्फ़िगर करने की आवश्यकता है ताकि इन लॉग को मुद्रित किया जा सके


क्या आप अपनी POM फाइल यहाँ साझा कर सकते हैं? यह समझने में मदद करेगा कि किन निर्भरताओं का उपयोग किया जा रहा है
user2281204

जवाबों:


1

यह slf4j-api के बजाय slf4j-log4j12 जोड़ने वाले संदेशों को प्रिंट करेगा

निम्नलिखित निकालें

implementation 'org.slf4j:slf4j-api:2.0.0-alpha1'
implementation 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

जोड़ना

implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '+'

0

ऐसा इसलिए है क्योंकि slf4j एक अमूर्त है जिसे अन्य पूर्व-मौजूदा पुस्तकालयों के साथ बाध्यकारी होने की आवश्यकता है। इसलिए, यदि आप लॉग्स प्रिंट करने के लिए बस slf4j का उपयोग कर रहे हैं, तो यह काम नहीं करेगा क्योंकि इसमें लॉगिंग स्तरों आदि की सेटिंग नहीं होगी। यह लिंक उसी पर कुछ जानकारी देता है।

इसके अलावा, स्प्रिंग बूट के नए संस्करण में 1.7.9 संस्करण के लिए slf4j के साथ एक डिफ़ॉल्ट एकीकरण है


0

स्प्रिंग बूट 2.x का उपयोग करते समय आपको किसी भी निर्भरता को आयात करने की आवश्यकता नहीं है । सभी आवश्यक है कि कुछ स्प्रिंग बूट स्टार्टर आयात किए जाएं , जो आपको सबसे अधिक संभावना है। जैसे spring-boot-starter-web, जो निर्भर करता है spring-boot-starter-logging, जो spring-jclस्प्रिंग फ्रेमवर्क के साथ लॉगिंग के लिए आवश्यक मॉड्यूल में खींचता है ।

शुरुआत का उपयोग करते समय, डिफ़ॉल्ट रूप से लॉगिंग के लिए लॉगबैक का उपयोग किया जाता है, लॉग 4j की आवश्यकता नहीं होती है।

बस slf4jअपनी बिल्ड फ़ाइल से सभी संदर्भ हटा दें । यहाँ बताया गया है कि स्प्रिंग बूट वेब स्टार्टर का संदर्भ बिल्ड.ग्रेड फ़ाइल में कैसा दिखता है।

compile("org.springframework.boot:spring-boot-starter-web")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.