Tomcat स्टार्टअप लॉग्स - SEVERE: त्रुटि फ़िल्टरस्टार्ट एक स्टैक ट्रेस कैसे प्राप्त करें?


96

जब मैं टॉमकैट शुरू करता हूं तो मुझे निम्नलिखित त्रुटि मिलती है:

Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors

यह अजीब लगता है कि टॉमकैट के लॉग में स्टैक ट्रेस शामिल नहीं होगा। क्या किसी के पास इस तरह की त्रुटियों के लिए स्टैक निशान पाने के लिए टॉमकैट में लॉगिंग को बढ़ाने के लिए एक सुझाव है?


1
मैं Guice-Servlet का उपयोग कर रहा हूं और इस ढांचे के लिए अपने सेटअप विधि के आसपास एक कोशिश / कैच करके मैं सभी अपवादों को पकड़ने में सक्षम था और खुद को लॉग इन करने के बाद उन्हें फिर से उखाड़ फेंका। मुझे अभी भी आँख बंद करके गुइसे-सर्वलेट के फ़िल्टर को काम करने के लिए डिबग करना पड़ रहा था लेकिन इसमें जो कुछ भी जोड़ा गया वह बस काम करने लगता है।
16st में बेन्स्टीपर

1
ऐसा प्रतीत होता है कि स्टैक गोटो स्टडआउट का पता लगाता है, लेकिन इंटेलीज टॉमकैट के लिए स्टडआउट नहीं पढ़ता है। tomcat.apache.org/tomcat-6.0-doc/logging.html मुझे एक फ़ाइल में टीडीसी रीडायरेक्ट में स्टडआउट बनाने की आवश्यकता है ताकि इंटेलीज इसे देख सकें।
बेन्स्टीपेयर

जवाबों:


138

टॉमकैट बनाने वाले localhost_yyyy_mm_dd.logOR localhost.yyyy-mm-dd.logलॉग की जांच करें , ये आमतौर पर उस प्रकार की जानकारी संग्रहीत करते हैं। मुझे उम्मीद है कि स्टैण्डस्ट्रीम को स्टैण्डर्ड करने के लिए स्टैण्डर्ड को पूरा नहीं किया जाएगा।


टॉमकैट 5.5 का मेरा उदाहरण उस फ़ाइल को नहीं लिखता है।
अर्ने एवरटसन 11

3
इस क्षण तक "त्रुटि फ़िल्टरस्टार्ट" ने मेरी बुरे सपने को त्रस्त कर दिया है ... कोई नहीं! आपने धमाल मचाया!
कोडी एस

इन चीजों में से एक है जिसे आप विकास के दौरान खोजते हैं। बहुत बहुत धन्यवाद।
फ्रांसिस्को लोज़ानो

मेरा टोम्कट 6 (डिफ़ॉल्ट सेटअप के साथ) कभी भी फ़ाइल पर कुछ भी नहीं लिखता है, मुझे यह पढ़ने के लिए कंसोलहैंडलर को चालू करना पड़ा कि क्या गलत हुआ, और उसने कैटलिना आउटपुट फ़ाइल में अपवाद लिखा।

2
@mattblang $ TOMCAT_HOME / conf / logging.properties पर एक नज़र डालें। डिफ़ॉल्ट सेटअप काउंटर-सहज ज्ञान युक्त है।
मैट बी

80

निम्नलिखित सामग्री के साथ WEB-INF / कक्षाओं में logging.properties नामक एक फ़ाइल बनाएँ:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

ध्यान दें कि यदि आपके पास WEB-INF में एक वर्ग निर्देशिका नहीं है, तो आप बस एक बना सकते हैं और यह ठीक काम करेगा।
मुदित

21

टॉमकैट स्टैकट्रेस को लॉग करता है, लेकिन यह हमेशा स्पष्ट नहीं होता है कि लॉग फाइलें कहां हैं, जब एक आईडीई से टॉमकैट शुरू किया जाता है। जब मैं इसे IntelliJ से शुरू करता हूं, तो CATALINA_BASEइसे सेट किया जाता है ${home}/.IntelliJIdea10/system/tomcat/Unnamed_r6-idea, और लॉग फाइल अंदर होती है [CATALINA_BASE]/logs

लॉग देखने के लिए, या तो लॉग फ़ाइलों का पता लगाएं, या [CATALINA_HOME]/conf/logging.propertiesकंसोल में डायरेक्ट टॉमकैट लकड़हारा आउटपुट को संपादित करें । नीचे मैंने डिफॉल्ट टॉमकैट कॉन्फ़िगरेशन में एक दूसरा हैंडलर जोड़ा:

 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

अब पूर्ण स्टैकट्रेस IntelliJ आउटपुट में प्रकट होता है:

 Dec 27, 2011 12:02:45 PM org.apache.catalina.core.StandardContext filterStart
 SEVERE: Exception starting filter filterChainProxy
 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined   at
 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
 . . .

9

आपको फ़ाइलों को कॉपी करने की आवश्यकता है

cp /path/to/solr/example/lib/ext/* /path/to/tomcat/lib
cp /path/to/solr/example/resources/* /path/to/tomcat/lib // or inside extracted solr

और फिर टॉमकैट को फिर से शुरू करें


3
हाँ, यह मुझे बचा लिया! । इसके अलावा /path/to/solr/example/resources/log4j.properties को देखना और अपनी लॉग डायरेक्टरी को संपादित करना अच्छा होगा
user9869932

5

हो सकता है कि आपका आवेदन टॉमकैट से अलग JRE के साथ संकलित हो।

java -versionअपने सर्वर पर जांचें और फिर उसी संस्करण के साथ अपना कोड संकलित करें। मुझे त्रुटि हुई क्योंकि मेरा ग्रहण मानक JRE 1.6 था और टॉमकैट 1.5 का उपयोग किया था - यह काम नहीं कर सकता।


2

सेंटोस 6 और सोलर में 4.4.0

मुझे इस त्रुटि को हल करने के लिए कुछ आवश्यक फ़ाइलों का पालन करना पड़ा

cp ~/solr-4.4.0/example/lib/ext/* /usr/share/tomcat6/lib/

इससे मेरे लिए भी समस्या हल हो गई।
उबुन्टु

2

आमतौर पर लोकलहोस्ट में समस्या के बारे में जानकारी होती है। [दिनांक] .log लेकिन कभी-कभी इस लॉग में कुछ भी नहीं होता है। यह तब हो सकता है यदि परियोजना का गड़बड़ कॉन्फ़िगरेशन है (कई डेवलपर्स ने लंबे समय तक इस पर काम किया और प्रत्येक ने खुद से कुछ जोड़ा)। मुझे लॉग में किसी भी जानकारी के बिना इस समस्या का सामना करना पड़ा। बल्कि तेज और मजबूत दृष्टिकोण:

  1. सब कुछ हटाने की कोशिश करें जो web.xml से किसी भी समस्या का कारण बन सकता है। तुम भी टैग को छोड़कर सब कुछ हटा सकते हैं। यदि आवेदन अभी भी तैनात नहीं किया जा सकता है - पर जाएं।

  2. WEB-INF / कक्षाओं से हर * .xml डिस्क्रिप्टर को निकालें। यदि आवेदन को तैनात नहीं किया जा सकता है - पर जाएं।

  3. सभी लॉगिंग कॉन्फ़िगरेशन निकालें जो आप अपने युद्ध (logging.properties, log4j.properties) में पा सकते हैं। तैनात करने का प्रयास करें। इस कदम पर मुझे अधिक जानकारीपूर्ण त्रुटि मिली है, लेकिन तैनाती अभी भी विफल रही है।

इस त्रुटि के लिए जाने के बाद मुझे पता चला कि इस परियोजना में पुराने संस्करण शामिल थे, जो टॉमकैट के संस्करण (जो नया था) से टकरा गया था और आवेदन को तैनात नहीं किया गया था। वेब-अनुप्रयोग में xerces के उन्नयन के बाद सब कुछ ठीक हो गया।


1

Tomcat के लिए log4j लॉगिंग सेट करना बहुत सरल है। निम्नलिखित http://tomcat.apache.org/tomcat-5.5-doc/log.html से उद्धृत किया गया है :

  1. निम्नलिखित सामग्री के साथ log4j.properties नामक एक फ़ाइल बनाएं और इसे सामान्य / कक्षाओं में सहेजें।

              log4j.rootLogger=DEBUG, R 
              log4j.appender.R=org.apache.log4j.RollingFileAppender 
              log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
              log4j.appender.R.MaxFileSize=10MB 
              log4j.appender.R.MaxBackupIndex=10 
              log4j.appender.R.layout=org.apache.log4j.PatternLayout 
              log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
  2. Log4J (v1.2 या बाद के संस्करण) को डाउनलोड करें और log4j जार को $ CATALINA_HOME / common / lib में रखें।

  3. कॉमन्स लॉगिंग डाउनलोड करें और लॉगऑन जार में $ CATALINA_HOME / common / lib के साथ कॉमन्स-लॉगिंग-xyzjar (कॉमन्स-लॉगिंग-एपी-एक्सज़ीज़र) न रखें।
  4. टॉमकैट शुरू करें

आप http://wiki.apache.org/tomcat/FAQ/Logging पर भी नज़र डालना चाह सकते हैं


क्या यह वास्तव में ठीक से लॉग इन अपवादों को तैनात करेगा?
बेन्स्टीपेयर

हाँ। मैंने इस सटीक विधि का उपयोग किया है जो तैनाती के दौरान समस्याओं के कारणों का पता लगाता है।
टॉमी

1
मुझे क्षमा करें, लेकिन लॉग फ़ाइल DEBUG के लॉग स्तर के साथ अभेद्य है। इसमें कुछ अपवाद शामिल हैं जो समस्या के साथ कुछ भी नहीं करते हैं - जो मुझे संदेह है कि मेरे मामले में एक स्ट्रट्स समस्या है।
अर्ने एवरट्सन

1

अगर किसी को SEVERE की तरह त्रुटि हो रही है: त्रुटि FilterStart Apr 29, 2013 4:49:20 PM org.apache.catalina.core.StandardContext startInternal SEVERE: संदर्भ [/ TraceMW] स्टार्टअप पिछली त्रुटियों के कारण विफल रहा

तो कृपया जाँच करें कि क्या आपके टेंकैट / परिवाद निर्देशिका में cors-filter-1.5.jar है या नहीं। अगर आपके पास डॉट यू है तो आपको उपरोक्त त्रुटि मिलेगी और उर आवेदन उपलब्ध नहीं होगा।

तो, मैं अभी अन्य टॉमकैट फ़ोल्डर से जार फ़ाइल को कॉपी करने में कामयाब रहा और मुझे बाद में उपर्युक्त त्रुटि नहीं मिली।


1

मुझे भी वही त्रुटि मिली और मैंने इस मुद्दे को ठीक करने में बहुत संघर्ष किया। Google को खोजने में थोड़ा समय बिताया और निम्नलिखित समाधान पाया और मेरा मुद्दा हल हो गया।

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


1

मुझे एक ही मुद्दा मिला, एक बार टॉमकैट में तैनात होने के बाद आवेदन शुरू करने में असमर्थ। लेकिन, एक बार जब मैं CATALINA_HOME \ lib (Tomcat dir) निर्देशिका में जार के स्ट्रट्स सेट को कॉपी कर लेता हूं तो यह हल हो जाता है। आपको अपने WEB_INF \ lib में ये जार रखने की आवश्यकता नहीं है, लेकिन आपको उन्हें अपने बिल्ड पथ में रखने की आवश्यकता है।

कॉमन्स-fileupload-1.2.1.jar

कॉमन्स-कब-1.3.2.jar

freemarker-2.3.16.jar

javassist-3.11.0.GA.jar

struts2-सम्मेलन-प्लगइन-2.2.1.jar

struts2 कोर-2.2.1.jar

xwork कोर-2.2.1.jar


0

बस लगभग एक समान समस्या पर आखिरी घंटे बिताने के बाद योगदान करना चाहता था। मेरा समाधान यह था कि किसी भी तरह हमारे ऐपर्टन .jar को दूषित कर दिया गया था, इसलिए हमारे देव सर्वर से जार रखकर एक फिक्स प्रदान किया।


0

मेरा मुद्दा भी ऐसा ही था। रेनाटो के टिप ने मेरे लिए काम किया। मैंने जावा क्लास फ़ाइलों (WEB-INF / classes फ़ोल्डर के तहत) के पुराने संस्करण का उपयोग किया और समस्या गायब हो गई। तो, यह संकलक संस्करण बेमेल होना चाहिए था।


0

यह मेरे लिए चाल है: बस सभी पुस्तकालयों को हटा दें और फिर संकलित करें और चलाएं। यह आपकी परियोजना की पुष्टि में त्रुटियों का संकेत देगा। पुस्तकालयों को लागू करने के बाद परियोजना को फिर से चलाएँ।


0

आम तौर पर सर्वर JDK संस्करण तैनात अनुप्रयोग (उच्च jdk संस्करण के साथ निर्मित) से कम होगा


-1

टर्मिनल पर कैटालिना लॉग दिखाने के लिए निम्नलिखित कमांड चलाएं ---

sh start-camunda.sh; tail -f server/apache-tomcat-8.0.24/logs/catalina.out
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.