2009-06-19 5 views
7

में जावा लॉग फ़ाइलों को कैसे देखूं, मैं एक्लिप्स में कुछ जुनीट परीक्षण चला रहा हूं, और मेरा कोड जावा लॉगिंग एपीआई का उपयोग कर एक एक्सएमएल लॉग फ़ाइल उत्पन्न कर रहा है। (Java.util.logging)। क्या कच्चे एक्सएमएल को पढ़ने के अलावा एक्लिप्स में इस एक्सएमएल लॉग आउटपुट को देखने का कोई आसान तरीका है? विशेष रूप से मैं आसानी से यह देखने में सक्षम होना चाहता हूं कि विभिन्न लॉग संदेश किस धागे से आए हैं।मैं ग्रहण

उत्तर

0

मुझे नहीं लगता कि ग्रहण आपके धागे के बारे में कैसे जान सकता है। यदि यह एक्सएमएल है, तो आपको एक पार्सर लिखना होगा जो आपके थ्रेड संदेशों को XPath का उपयोग करके ढूंढ सकता है और उन्हें प्रिंट कर सकता है। लेकिन यह आप पर निर्भर है - ग्रहण आपके दिमाग को नहीं पढ़ सकता है।

आपको एक एक्सएसएल-टी स्टाइलशीट मिलनी होगी जो log4j द्वारा उत्पादित एक्सएमएल स्ट्रीम ले सकती है और जो थ्रेड आप चाहते हैं उसे खींच सकते हैं।

+0

के लेखक धागा java.util.logging उत्पादन का हिस्सा है हूँ। Http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html#2.4 –

1

मैं हमेशा java.util.logging/ग्रहण संयोजन के लिए Apache Chainsaw की तरह कुछ को खोजने के लिए है, यानी कि एक बंदरगाह और है कि करने के लिए एक java.util.logging.Handler कार्यान्वयन लेखन सीधे सुनता ग्रहण में एक लॉग दर्शक उम्मीद कर रही थी। लेकिन मुझे अभी तक ऐसी कोई चीज़ नहीं मिली है और एक या तो लिखने के लिए नहीं मिला है। अब तक मैं कंसोल पर लॉग इन करने के लिए एक उपयुक्त सादे-पाठ प्रारूप का उपयोग करता हूं। सुरुचिपूर्ण और कोई आसान फ़िल्टरिंग विकल्प नहीं है, लेकिन यह नौकरी करता है। अपना खुद का कस्टम फॉर्मेटर लिखना मुश्किल नहीं है।

एक्लिप्स के Test and Performance Tools Platform Project में लॉग फ़ाइलों का विश्लेषण करने के लिए कुछ समर्थन है (नाम संक्षिप्त नाम से भी बदतर है)। मैंने कभी कोशिश नहीं की, लेकिन यह आपके लिए उपयोगी हो सकता है।

+0

पीटर देखें, SLF4J/लॉगबैक पर मेरा नोट देखें। यह सिर्फ यह करता है, हालांकि Thorbjørn बताता है कि लॉगबैक की वर्तमान रिलीज का उपयोग करते समय एक बग है (सेकी का कहना है कि वे समाधान पर काम कर रहे हैं)। –

+0

मैं कुछ ऐसा पसंद करूंगा जो मेरे उत्पादन कोड में निर्भरता नहीं जोड़ता है। विशेष रूप से एसएलएफ 4 जे ने मुझे पॉइंट रिलीज के बीच असंगत एपीआई परिवर्तन करने के साथ पहले से ही जला दिया है, जिससे मुद्दों को मेरे मैवेन आधारित परियोजनाओं में से एक की अप्रत्यक्ष निर्भरता के रूप में बनाया गया है। java.util.logging सही नहीं हो सकता है, लेकिन मुझे अभी भी अतिरिक्त लागत और विकल्प द्वारा पेश जोखिमों के लिए औचित्य दिखाई नहीं देता है। –

1

बस तरफ, वास्तविक समय में लॉग फ़ाइलों को देखने के लिए एक उत्कृष्ट उपकरण बेकार (अनिवार्य रूप से विंडोज़ पर एक पूंछ-एफ) है, लेकिन रंग में कुछ पैटर्न को हाइलाइट करने के लिए सेट किया जा सकता है जो वास्तव में मदद कर सकता है। आप एक मुफ्त संस्करण here पा सकते हैं।

+0

लिंक – akf

1

आप जिस चीज को करने की कोशिश कर रहे हैं उसके आधार पर आपको अपने लॉगिंग उप sys के लिए एक अच्छा लॉगिंग सेटअप की आवश्यकता हो सकती है?

एक रूपरेखा मैं हाल ही में उपयोग कर रहे हैं slf4j का उपयोग करता है लॉग इन करने के लिए, निम्न log4j config मैं जो देखने को मिलता है प्रदान करने, थ्रेड उत्पादन क्या:

log4j.rootLogger = trace, default 
log4j.appender.default = org.apache.log4j.ConsoleAppender 
log4j.appender.default.layout = org.apache.log4j.PatternLayout 
log4j.appender.default.layout.ConversionPattern = %-4r [%t] %-5p %c %x - %m%n 

मेरे मामले में मैं में निम्न के समान आउटपुट प्राप्त जब मैं अपने जूनिट परीक्षण चलाता हूं तो ग्रहण में कंसोल टैब।

0 [pool-1-thread-1] INFO com.example.BaseTest - Server listening on port 9090 
35 [NioProcessor-6] INFO org.apache.mina.filter.logging.LoggingFilter - CREATED 
35 [NioProcessor-1] INFO org.apache.mina.filter.logging.LoggingFilter - CREATED 
4

मैं SLF4J प्रवेश Logback प्रवेश कार्यान्वयन के साथ मिलकर एपीआई का उपयोग कर रहा है। SLF4J को java.util.logging, log4j, jakarta commons लॉगिंग, और SLF4j एपीआई में लॉग संदेशों को मैप करने के लिए कॉन्फ़िगर किया जा सकता है, एक सामान्य मध्यवर्ती रूप में। दूसरी तरफ, संदेश java.util.logging, log4j, या लॉगबैक के माध्यम से उत्पन्न किए जा सकते हैं। यह एक लचीला दृष्टिकोण है जो अच्छी तरह से काम करता है, खासकर जब आपके पास ऐसे घटक होते हैं जो विभिन्न लॉगिंग एपीआई का उपयोग करते हैं।

लॉगबैक के बारे में एक अच्छी बात यह है कि आप इसे लॉग संदेशों की एक प्रति Eclipse plug-in पर भेजने के लिए कॉन्फ़िगर कर सकते हैं। प्लग-इन और लॉग फ़ाइल को विभिन्न तरीकों से देखने और फ़िल्टर करने देता है। संदेशों में थ्रेड होता है जो उन्हें उत्पन्न करता है, इसलिए ऐसा लगता है कि आपको कुछ देखना चाहिए।

+0

लिंक के लिए धन्यवाद प्लगइन लॉगबैक के नवीनतम संस्करण के साथ काम नहीं करता है। –

+0

सच है, हालांकि नए और बेहतर संस्करण पर चल रहे काम चल रहे हैं। – Ceki

2

मुझे लगता है कि आप वही चीज़ ढूंढ रहे थे जिसे मैं ढूंढ रहा था। मैंने UtilLogger4E पाया, लेकिन मैंने अपनी खुद की प्रोजेक्ट (EDevTools LogViewer) शुरू की, क्योंकि इसमें कुछ गायब विशेषताएं हैं और ओपनसोर्स नहीं है।

इसमें फ़ाइल को एक फ़ाइल या कॉन्फ़िगर करने योग्य सॉकेट से एक्सएमएल लॉग लॉगिंग करने की क्षमता है, उन्हें तालिका में स्तर से रंगीन दिखाएं और यह एक समय में एक से अधिक लॉग दिखा सकता है (एकाधिक दृश्य उदाहरणों के माध्यम से)।

जावा उपयोग लॉगिंग में एक सॉकेट (सॉकेटहैंडलर) पर लॉग भेजने के लिए एक अंतर्निहित सुविधा है, इसे केवल कॉन्फ़िगरेशन फ़ाइल द्वारा सेट किया जाना चाहिए।

आपको कम से LogViewer पर एक नज़र ले जा सकते हैं: http://sourceforge.net/projects/edevtools/

2

आप जो ग्रहण पर आधारित नहीं है लॉग दर्शक उपयोग करना चाहते हैं, मैं तुम्हें OtrosLogViewer सलाह देते हैं। मैं java.util.logging एक्सएमएल प्रारूप और SimpleFormat आयात कर सकते हैं।

अस्वीकरण: मैं OtrosLogViewer

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