2012-03-19 10 views
5

मैं जेबॉस एएस 7 और लॉगिंग के साथ थोड़ा सा संघर्ष करता हूं। मुझे इस तथ्य के बावजूद वेब पर कुछ भी नहीं मिल रहा है कि मेरा मुद्दा बहुत सामान्य है।जेबॉस एएस 7: लॉगिंग

डिफ़ॉल्ट लॉग इस तरह वर्तमान में दिखता है:

11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - I/O exception (java.net.SocketException) caught when processing request: Connection reset 
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request 

नोटिस [stdout], उन पंक्तियों जहां लिखा जो कुछ पुस्तकालय द्वारा इस्तेमाल किया और JBoss द्वारा उठाया और करने के लिए लिखा है कुछ लॉगिंग पुस्तकालय द्वारा मोटा करने के लिए लॉग फ़ाइल। यही वह है जिसे मैं ठीक करना चाहता हूं।

मुझे लगता है कि एक एडाप्टर रखने का एक तरीका होना चाहिए जो jboss लॉगिंग उपप्रणाली पर लॉग इन करने के लिए log4j (या कोई अन्य लॉगिंग फ्रेमवर्क) बताता है?

मेरा पहला विचार मेरी परियोजना के क्लासपाथ से सभी log4j कॉन्फ़िगरेशन को हटाना था। मुझे एक लाइब्रेरी में एक मिला जो मैंने उपयोग किया था, जिसने stdout पर लॉग किया था। लेकिन यह कुछ भी ठीक नहीं करता है।

11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment). 
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly. 
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

कोई त्रुटिकर्ता कॉन्फ़िगर नहीं होने पर सामान्य त्रुटि संदेश। कम से कम मैं यह सुनिश्चित कर सकता हूं कि क्लासपाथ में अब कोई कॉन्फ़िगरेशन नहीं है।

जेबॉस एएस दस्तावेज इस तरह के परिदृश्य का भी उल्लेख नहीं करता है, जब मैं उचित लॉगिंग प्राप्त करने में सक्षम नहीं हूं तो मुझे तृतीय पक्ष पुस्तकालयों का उपयोग कैसे करना चाहिए?

मुझे उम्मीद है कि कोई मेरी मदद कर सकता है, किसी भी संकेत की सराहना की जाती है!

Malax

उत्तर

14

हालांकि यह प्रश्न में नहीं है, मुझे लगता है कि आप JBoss AS7 साथ log4j उपयोग करने का प्रयास कर रहे हैं। यदि यह सत्य है और आपको एपेंडर्स का उपयोग करने की आवश्यकता है, तो आपको सर्वर के साथ आने वाले log4j को बाहर करने और वर्तमान में अपनी तैनाती के साथ अपने संस्करण को पैकेज करने की आवश्यकता है। AS7-514 हल हो जाने पर इसे जल्द ही बदलना चाहिए। एक बार उस सुविधा को जोड़ा जाने के बाद, आपके पक्ष में कुछ भी करने की आवश्यकता नहीं होगी।

अब के लिए समस्या को हल करने के लिए आपको पहले एक jboss-deployment-structure.xml ऐसा निम्नलिखित देखना चाहिए बनाने की जरूरत:

<jboss-deployment-structure> 
    <deployment> 
     <!-- Exclusions allow you to prevent the server from automatically adding some dependencies --> 
     <exclusions> 
      <module name="org.apache.log4j" /> 
     </exclusions> 
    </deployment> 
</jboss-deployment-structure> 

फिर किसी अन्य जगह अपने WEB-INF/lib निर्देशिका या करने के लिए log4j के अपने स्वयं के संस्करण जोड़ने जहां तैनाती होगा पुस्तकालय खोजने में सक्षम हो।

इसके बाद इसे वैसे ही काम करना चाहिए जैसा आप उम्मीद करेंगे।

+0

अफसोस की बात है, यह किसी कारण से मेरे लिए काम नहीं करता है। मैंने एक्सएमएल को अच्छी तरह से गठित करने के लिए तय किया है (प्रलेखन कहता है <परिनियोजन /> बहिष्करण के लिए मूल तत्व है।) लेकिन यह अभी भी लॉगिंग संदेशों को लपेटता है जैसे: 0 9: 58: 04,564 जानकारी [stdout] (http-localhost- 127.0.0.1-8080-1) 2012-03-22 09: 58: 04,564 DEBUG [http-localhost-127.0.0.1-8080-1] org.apache.http.wire: << " [\ n] "' – Malax

+0

संदेश कंसोल पर लपेटा जाएगा। जेबॉस एएस 7 को सभी संदेश stdout और stderr पर लॉग इन करते हैं और उन्हें लॉग करते हैं। –

+0

बहुत अच्छा काम करता है! जानकारी के लिए धन्यवाद। – Dima

संबंधित मुद्दे