मेरे पास एक वेब ऐप है जो मेरे लॉग 4 जे लॉग फैक्ट्री को शुरू करने के लिए स्प्रिंग की Log4jConfigurer
कक्षा का उपयोग करता है। असल में यह लॉग 4 जे को कॉन्फ़िगरेशन फ़ाइल के साथ प्रारंभ करता है जो कक्षा पथ से बाहर है।वसंत के साथ Log4J शुरू करना?
<bean id="log4jInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="sbeHome">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>#{ MyAppHome + '/conf/log4j.xml'}</value>
</list>
</property>
</bean>
हालांकि मैं स्टार्टअप पर यह त्रुटि प्राप्त:
log4j:WARN No appenders could be found for logger
और स्प्रिंग आवेदन संदर्भ प्रारंभ संदेशों के टन कंसोल के लिए मुद्रित कर रहे हैं
यहाँ config है। मुझे लगता है कि ऐसा इसलिए है क्योंकि वसंत मेरे लॉगर को शुरू करने का मौका देने से पहले मेरे आवेदन को शुरू करने के लिए काम कर रहा है। यदि यह महत्वपूर्ण है, तो मैं Log4J के शीर्ष पर SLF4J का उपयोग कर रहा हूं।
क्या कोई तरीका है कि मैं अपना लॉग 4jConfigurer प्रारंभ करने वाला पहला बीन बन सकता हूं? या क्या इसे हल करने का कोई और तरीका है?
मुझे यह उल्लेख करना चाहिए था कि log4J गुण फ़ाइल का मेरा पथ एक जेएनडीआई स्ट्रिंग से आ रहा है। मैं उस जेएनडीआई मूल्य को पर कैसे आपूर्ति कर सकता हूं। अगर मैं ऐसा कर सकता हूं, तो मुझे लगता है कि मैं पूरी तरह से तैयार हूं। –
HDave
मैं इस पाया है: http://www.coderanch.com/t/362833/Servlets/java/log-ServletContextListener - यह कैसे अपनी खुद की log4j विन्यास श्रोता जो मैं अपने ही बनाया JNDI – Ralph
से कुछ जानकारी प्राप्त लागू करने के लिए पता चलता सर्वलेट संदर्भ श्रोता जैसे उन्होंने किया और यह सब पूरी तरह से काम करता है। धन्यवाद। – HDave