2015-06-30 13 views
6

में स्थानीय क्लाउड लॉगिंग अक्षम करें मैं example code चलाकर अपाचे तूफान के साथ शुरू करने की कोशिश कर रहा हूं। मैं एक मैवेन रिपोजिटरी के तूफान 0.10.1-बीटा 1 के साथ काम कर रहा हूं।अपाचे तूफान

दुर्भाग्यवश, जब मैं इन्हें चलाता हूं, तो कंसोल सूचना स्तर लॉग के साथ बाढ़ आ गया है, जो मैंने जोड़ा है System.out.print() कॉल को डूब रहा है। क्या स्थानीय क्लाउड से चलते समय लॉग स्तर को बदलना संभव है? मैंने here सूचीबद्ध समाधानों का प्रयास किया है और कोई भी समाधान काम नहीं कर रहा है।

लिंक से, गलत पर Config.TOPOLOGY_DEBUG संपत्ति बदलने की जानकारी के स्तर का लॉग को दूर नहीं करता, और लिंक से कोड का उपयोग कर, मैं भी रूप में मैं "मिल logger.setLevel((Level) Level.FATAL) उपयोग नहीं कर सकते विधि setLevel (स्तर) अपरिभाषित है लॉगजर प्रकार के लिए "लॉग 4j एपीआई में स्पष्ट रूप से सूचीबद्ध होने के बावजूद।

संपादित करें 1: मैं भी समाधान here की कोशिश की और मैं निम्नलिखित config साथ ./src में एक xml logback.xml बुलाया डाल:

<configuration monitorInterval="60"> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
    <PatternLayout pattern="%-4r [%t] %-5p %c{1.} - %msg%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Logger name="org.apache.zookeeper" level="WARN"/> 
    <Root level="WARN"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</configuration> 

फिर भी प्रयास विफल, हालांकि। क्या कस्टम लॉग सेटिंग्स का उपयोग करने के लिए तूफान को बताने के लिए कोई अतिरिक्त कॉन्फ़िगरेशन आवश्यक है?

अद्यतन: यह पता चला है कि तूफान 0.10.x लॉगबैक के बजाय log4j2 का उपयोग करने के लिए स्विच किया गया है, इसलिए अंत में कॉन्फ़िगरेशन के साथ log4j2.xml जोड़कर काम किया!

+0

यहां देखें: https://stackoverflow.com/questions/30923617/how-to-implement-log-changes-in-a-storm-project-locally-using-eclipse/ –

+0

बस कोशिश की और कोई किस्मत (संपादन देखें)। – gears88

उत्तर

1

निम्नलिखित विन्यास मेरे लिए काम करता है:
जब स्थानीय क्लस्टर पर चल रहा है: आप अपने खुद के आवेदन की लॉगिंग के लिए log4j या slf4j का उपयोग करें, आप अंततः करना होगा

<configuration> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="WARN"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
+2

तो यह पता चला है कि तूफान 0.10.x [log4j2 पर स्विच किया गया] (https://storm.apache.org/2015/06/15/storm0100-beta-released.html) यही कारण है कि logback.xml फ़ाइल ' काम नहीं कर रहा हूँ .ssrc में log4j2.xml बनाना, हालांकि काम करता था। मैंने तूफान 0.9.1-इनक्यूबेटिंग के साथ आपकी कॉन्फ़िगरेशन का परीक्षण किया और यह पूरी तरह से काम किया। सहायता के लिए धन्यवाद! – gears88

+1

भविष्य के संदर्भ के लिए जानना अच्छा है :) –

+0

मैंने अपने प्रोग्राम के src फ़ोल्डर में उपरोक्त सामग्री के साथ 'log4j2.xml' रखने की कोशिश की, लेकिन स्थानीय क्लस्टर के 'INFO' और' DEBUG' लॉग प्रदर्शित किए जा रहे थे।मेरे जैसे नौसिखिया के लिए, क्या आप कृपया 'नेटबीन्स' प्रोजेक्ट फ़ोल्डर में 'log4j2.xml' फ़ाइल की उपस्थिति को कैसे पहचानेंगे' कहां रखा जाना चाहिए और कैसे 'तूफान' कहां रखा जाना चाहिए, इस बारे में अधिक जानकारी प्रदान कर सकते हैं? मैं 'तूफान 'जार पाने के लिए' ग्रैडल 'का उपयोग कर रहा हूं। – Nav

1

यह नवागंतुकों के लिए स्पष्ट करने के लिए log4j2.xml या logback.xml फ़ाइल where you set का उपयोग कॉन्फ़िगर करें कि आप लॉगिंग कैसे करना चाहते हैं।

यह इस फ़ाइल में है; अपने स्वयं के एप्लिकेशन की log4j या logback xml फ़ाइल, कि आपको कॉन्फ़िगरेशन पेस्ट करना होगा जो आपके एप्लिकेशन को लॉग दिखाने के लिए नहीं बताता है।

तो बस इसे कहीं भी <configuration> और </configuration> टैग के बीच जोड़ें।

<logger name="org.apache.storm" level="OFF"/> 
<logger name="org.apache.zookeeper" level="OFF"/> 
+0

'log4j2.xml' में, यह हिस्सा" कहीं भी "नहीं होना चाहिए; यह '' में होना चाहिए। – FaithReaper

1

एक प्रणाली संपत्ति -Dlog4j.configurationFile=log4j2.xml तूफान 1.0.0

log4j2.xml पर एक Keypoint है एक नकली या गैर मौजूदा फ़ाइल हो सकता है परिभाषित करने के लिए।

+0

नहीं .. तूफान क्लासपाथ के तहत 'log4j2.xml' फ़ाइल को खोजता है। यदि यह एक मेवेन प्रोजेक्ट है, तो आप इसे 'src/main/resource'' के अंतर्गत रख सकते हैं, जो काम करता है क्योंकि मैं इसका उपयोग कर रहा हूं। क्लासपाथ के तहत सीधे 'src/main/java' और' src/main/resource' 'शामिल करने के लिए मेवेन सम्मेलन है। ग्रहण में आपको कक्षापथ को कॉन्फ़िगर करना पड़ सकता है ('src' को हटाएं और इन दो फ़ोल्डरों को जोड़ें)। – FaithReaper

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