Spring
अभी भी सभी आंतरिक लॉगिंग (पिछड़ा संगतता) के लिए commons-logging
का उपयोग करता है। यदि आप कुछ अन्य लॉगिंग फ्रेमवर्क (log4j
) का उपयोग करना चाहते हैं तो आपको पुलcommons logging
से कॉल के विकल्प के लिए कॉल करने की आवश्यकता है। अन्यथा आपको एकाधिक लॉगिंग कॉन्फ़िगरेशन बनाए रखना होगा।
विभिन्न प्रवेश चौखटे (
jul
,
log4j
,
jcl
,
logback
) और आप तैनाती समय में वांछित प्रवेश ढांचे में प्लग करने के लिए अनुमति देता है के लिए एक सरल मुखौटा के रूप में
slf4j
कार्य करता है।
इसके बजाय प्रवेश ढांचे कार्यान्वयन कि तीसरे पक्ष ढांचे आप
slf4j's
पुल कार्यान्वयन कि असली बात की तरह काम करता है, लेकिन वास्तव में सिर्फ
slf4j
या उसके ठोस बंधन के लिए लॉगिंग कॉल अग्रेषित प्रदान द्वारा लगाया गया है का उपयोग करने का
। Maven pom.xml की
लॉगिंग अनुभाग आम तौर पर इस तरह दिखता है:
<!-- remove the real commons-logging from classpath -->
<!-- declare as provided or exclude from spring jars -->
<dependency>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<!-- add slf4j interfaces to classpath -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.4</version>
<scope>compile</scope>
</dependency>
<!-- add commons logging to slf4j bridge to classpath -->
<!-- acts as jcl but routes commons-logging calls to slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.4</version>
<scope>runtime</scope>
</dependency>
<!-- add log4j binding to classpath -->
<!-- routes slf4j calls to log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
<scope>runtime</scope>
</dependency>
<!-- add log4j to classpath -->
<!-- does the logging -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
यह वसंत कंटेनर और न ही निर्भरता इंजेक्शन के साथ कोई संबंध नहीं है, यह शुद्ध classpath, classloader सामान है ...
अधिक जानकारी के लिए कृपया thefollowing लिंक देखें।
स्रोत
2011-12-29 20:42:55
तो रनटाइम पर यह निर्भरता इंजेक्शन का उपयोग करता है? अभी भी खेद है। – codecompleting
नहीं, मेवेन ''। शायद मैं सवाल समझ में नहीं आता? क्या आप इसे स्पष्ट कर सकते हैं? –
kan