টমকেট স্টার্টআপ লগগুলি - সংরক্ষণ করুন: ত্রুটি ফিল্টারস্টার্ট স্ট্যাক ট্রেস কীভাবে পাবেন?


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

এটি অদ্ভুত বলে মনে হচ্ছে যে টমকেটের জন্য লগগুলিতে একটি স্ট্যাক ট্রেস অন্তর্ভুক্ত থাকবে না। এই জাতীয় ত্রুটির জন্য স্ট্যাকের চিহ্ন পেতে টমকেটে লগিং বাড়াতে কীভাবে কারও পরামর্শ রয়েছে?


4
আমি গুইস-সার্লেট ব্যবহার করছি এবং এই কাঠামোর জন্য আমার সেটআপ পদ্ধতির আশেপাশে চেষ্টা / ধরার মাধ্যমে আমি সমস্ত ব্যতিক্রমগুলি ধরতে সক্ষম হয়েছি এবং নিজেকে লগ ইন করার পরে সেগুলি পুনরায় প্রকাশ করতে সক্ষম হয়েছি। কাজ করার জন্য আমাকে গুইস-সার্লেটের ফিল্টারটি অন্ধভাবে ডিবাগ করতে হয়েছিল তবে এতে যা কিছু যুক্ত হয়েছে তা কেবল কাজ করে বলে মনে হচ্ছে।
বেনস্টপিয়ার

4
এটি উপস্থিত হয় যে স্ট্যাক গেটো স্টডআউটকে আবিষ্কার করে তবে ইন্টেলিজ টমক্যাটের স্টাডআউটটি পড়েন না। tomcat.apache.org/tomcat-6.0-doc/logging.html আমার দরকার টমক্যাটে স্টাডআউটটি কোনও ফাইলে পুনর্নির্দেশ করা যাতে ইন্টেলিজ এটি দেখতে পারে।
বেনস্টপিয়ার

উত্তর:


138

টমক্যাট যে localhost_yyyy_mm_dd.logওআর localhost.yyyy-mm-dd.logলগগুলি তৈরি করে তা পরীক্ষা করুন , এগুলি সাধারণত সেই ধরণের তথ্য সঞ্চয় করে। আমি পুরো স্ট্যাকট্রেসটি স্ট্যান্ডার্ডের বাইরে ফেলে দেওয়ার আশা করবো না।


টমক্যাট 5.5 এর আমার উদাহরণটি ফাইলটি লিখবে না।
আরে এভার্টসন

4
এই মুহুর্তে "ত্রুটি ফিল্টার স্টার্ট" আমার দুঃস্বপ্নকে জর্জরিত করেছে ... আর বেশি দিন নয়! তুমি রক!
কোডি এস

এইগুলির মধ্যে একটি আপনি বিকাশের সময় আবিষ্কার করে খুশি। অনেক ধন্যবাদ.
ফ্রান্সিসকো লোজনো

আমার টমক্যাট 6 (ডিফল্ট সেটআপ সহ) ফাইলটিতে কখনই কিছু লেখেন না, আমাকে কী ভুল হয়েছে তা পড়তে কনসোলহ্যান্ডলারটি চালু করতে হয়েছিল এবং এটি ক্যাটালিনা আউটপুট ফাইলে ব্যতিক্রমগুলি লিখেছিল।

4
@ ম্যাটব্ল্যাং $ টোমসিএT_HOH / কনফ / লগিং.পোপারটিগুলি দেখুন। ডিফল্ট সেটআপটি স্ব-স্বজ্ঞাত int
ম্যাট বি বি

80

WEB-INF / ক্লাসে নিম্নলিখিত বিষয়বস্তু সহ লগিং.প্রেটিটিস নামে একটি ফাইল তৈরি করুন:

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

মনে রাখবেন যে যদি আপনার ওয়েবে-আইএনএফ-তে কোনও ক্লাস ডিরেক্টরি না থাকে তবে আপনি কেবল একটি তৈরি করতে পারেন এবং এটি দুর্দান্ত কাজ করবে।
মুহাদ

21

টমক্যাট স্ট্যাকট্রেস লগইন করে, তবে লগ ফাইলগুলি কোথায় হয় তা সর্বদা পরিষ্কার হয় না, যখন আইডিই থেকে টমক্যাট শুরু করা হয়। আমি যখন এটি ইন্টেলিজিজ থেকে শুরু করি তখন 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

এখন সম্পূর্ণ স্ট্যাকট্রেসটি ইন্টেলিজ আউটপুটে প্রদর্শিত হবে:

 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

এবং তারপরে টমক্যাটটি পুনরায় চালু করুন


4
হ্যাঁ, এই আমাকে বাঁচায়! । এছাড়াও /path/to/solr/example/resources/log4j.properties দেখতে এবং আপনার লগ ডিরেক্টরিটি সম্পাদনা করা ভাল ধারণা হবে
user9869932

5

হয়তো আপনার অ্যাপ্লিকেশনটি টমক্যাটের চেয়ে আলাদা জেআরই সংকলিত।

java -versionআপনার সার্ভারে পরীক্ষা করুন এবং তারপরে একই সংস্করণ সহ আপনার কোডটি সংকলন করুন। আমার ত্রুটি হয়েছিল কারণ আমার Eclipse স্ট্যান্ডার্ড JRE 1.6 এবং টমক্যাট 1.5 ব্যবহার করেছিল - এটি কাজ করতে পারে না।


2

CentOS 6 এবং সোলার 4.4.0 এ

এই ত্রুটিটি সমাধান করার জন্য আমাকে কিছু লিবিব ফাইলগুলি সংহত করতে হয়েছিল

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

এটি আমার জন্যও সমস্যার সমাধান করেছে। উবুন্টু 14.04 এবং সোলার 4.8.1 এবং টমক্যাট 7.
সিঞ্জেল

2

লোকালহোস্টে সাধারণত সমস্যা সম্পর্কিত তথ্য থাকে [[তারিখ] .লগ। তবে কখনও কখনও এই লগ কিছুই আছে। প্রকল্পটির বিশৃঙ্খল কনফিগারেশন থাকলে এটি ঘটতে পারে (বেশ কয়েকটি বিকাশকারী এটির জন্য দীর্ঘকাল ধরে কাজ করেছেন এবং প্রত্যেকে নিজের কাছ থেকে কিছু যুক্ত করেছেন)। লগতে কোনও তথ্য ছাড়াই আমি এই সমস্যার মুখোমুখি হয়েছি। বরং দ্রুত এবং শক্তিশালী পদ্ধতির:

  1. ওয়েব.এক্সএমএল থেকে যে কোনও সমস্যা হতে পারে এমন সমস্ত কিছু সরিয়ে দেওয়ার চেষ্টা করুন। এমনকি আপনি ট্যাগ বাদে সমস্ত কিছুই মুছে ফেলতে পারেন। যদি এখনও অ্যাপ্লিকেশন স্থাপন করা যায় না - তবে যান।

  2. WEB-INF / ক্লাস থেকে প্রতিটি * .xML বর্ণনাকারী সরান। যদি অ্যাপ্লিকেশন স্থাপন করা যায় না - তবে যান।

  3. আপনার যুদ্ধে আপনি যে সমস্ত লগিং কনফিগারেশন সন্ধান করতে পারেন তা সরিয়ে ফেলুন (লগিং.প্রেপার্টি, লগ 4 জে.প্রোপার্টি)। মোতায়েন করার চেষ্টা করুন। এই পদক্ষেপে আমি আরও তথ্যমূলক ত্রুটি পেয়েছি, কিন্তু স্থাপনা এখনও ব্যর্থ হয়েছে।

এই ত্রুটিটি সম্পর্কে গুগল করার পরে আমি জানতে পেরেছিলাম যে প্রকল্পে জেরেসের পুরানো সংস্করণ অন্তর্ভুক্ত রয়েছে, যা টমকটের সংস্করণটির সাথে সংঘর্ষ করেছিল (যা নতুন ছিল) এবং প্রয়োগ করার জন্য অ্যাপ্লিকেশনটি দেয় নি। ওয়েব-অ্যাপ্লিকেশনটিতে জেরেসগুলি আপগ্রেড করার পরে সবকিছু ঠিক হয়ে গেল।


1

টমকেটের জন্য লগ 4 জে লগিং সেট আপ করা বেশ সহজ। নিম্নলিখিতটি http://tomcat.apache.org/tomcat-5.5-doc/logging.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. লগ 4 জে (v1.2 বা তার পরে) ডাউনলোড করুন এবং লগ 4 জারটিকে $ ক্যাটালিনহোম / সাধারণ / লিবিতে রাখুন।

  3. কমন্স লগিং ডাউনলোড করুন এবং লগ 4 জারের সাথে কমোনস-লগিং-এক্সজিঞ্জার (কমন্স-লগিং-এপিআই-জাইজারকে নয়) স্থাপন করুন।
  4. টমক্যাট শুরু করুন

আপনি http://wiki.apache.org/tomcat/FAQ/Logging এ একবার দেখতে চান


এই কারণে আসলে সঠিকভাবে লগ করতে ব্যতিক্রম স্থাপন করা হবে?
বেনস্টপিয়ার

হ্যাঁ. আমি এই সঠিক পদ্ধতিটি ব্যবহার করেছি নিয়োগের সময় সমস্যার কারণ খুঁজে পেতে পারি।
টম্মি

4
আমি দুঃখিত তবে DEBUG এর লগ স্তরের সাথে লগ ফাইলটি দুর্ভেদ্য। এটিতে কিছু ব্যতিক্রম রয়েছে যা সমস্যার সাথে কোনও যোগসূত্র বলে মনে হয় না - যা আমার সন্দেহ হয় যে এটি আমার ক্ষেত্রে একটি স্ট্রুটস সমস্যা।
আর্ন এভার্টসন

1

যদি কেউ SEVERE এর মতো ত্রুটি পেয়ে থাকে: ত্রুটি ফিল্টার স্টার্ট 29 এপ্রিল, 2013 4:49:20 পূর্বাহ্নে org.apache.catalina.core.SandardContext শুরু অভ্যন্তরীণ তদন্ত: প্রসঙ্গ [/ ট্রেসএমডাব্লু] পূর্ববর্তী ত্রুটির কারণে স্টার্টআপ ব্যর্থ হয়েছে

তারপরে দয়া করে আপনার টমক্যাট / লিব ডিরেক্টরিতে কর্স-ফিল্টার-1.5 . jar রয়েছে কিনা তা যাচাই করুন । আপনার যদি ডট না থাকে তবে উপরে ত্রুটি পাওয়া যাবে এবং আপনার অ্যাপ্লিকেশন পাওয়া যাবে না।

সুতরাং, আমি সবেমাত্র অন্য টমক্যাট ফোল্ডার থেকে জার ফাইলটি অনুলিপি করতে সক্ষম হয়েছি এবং পরে উল্লিখিত ত্রুটিটি পরে পাইনি।


1

আমিও একই ত্রুটি পেয়েছি এবং এই সমস্যাটি সমাধান করতে অনেক লড়াই করেছি। গুগল অনুসন্ধানে কিছুটা সময় ব্যয় করে নিম্নলিখিত সমাধানটি পেয়েছি এবং আমার সমস্যাটি সমাধান হয়ে গেছে।

সমস্যাটির কারণ ছিল, মোতায়েনের পথে স্ট্রুট 2 লাইব্রেরি নিখোঁজ। লোকেরা বেশিরভাগই সংকলনের জন্য লাইব্রেরি স্থাপন করতে পারেন এবং রান-টাইমের জন্য প্রয়োজনীয় লাইব্রেরি সংযুক্ত করতে ভুলে যেতে পারেন। তাই আমি ওয়েব স্থাপনার সমাবেশে একই লাইব্রেরি যুক্ত করেছি এবং বিষয়টি বন্ধ ছিল।


1

আমি একই সমস্যা পেয়েছি, একবার টমক্যাটে নিযুক্ত হওয়ার পরে অ্যাপ্লিকেশন শুরু করতে অক্ষম। তবে, একবার আমি জার্সের স্ট্রুটস সেটটি ক্যাটালিনহোম \ lib (টমক্যাট ডায়ার) ডিরেক্টরিতে অনুলিপি করি। আপনার WEB_INF \ lib এ আপনার এই জারগুলি রাখার দরকার নেই তবে আপনার বিল্ড পাথে আপনার এটি থাকা দরকার।

কমন্স-ফাইলআপলোড -২.২.২.২৩

Commons-io-1.3.2.jar

freemarker-2.3.16.jar

javassist-3.11.0.GA.jar

struts2- কনভেনশন-প্লাগইন -২.২.১.জার

struts2-core-2.2.1.jar

xwork-core-2.2.1.jar


0

প্রায় এক অভিন্ন সমস্যায় শেষ ঘন্টাটি ব্যয় করার পরে অবদান রাখতে চেয়েছিলেন। আমার সমাধানটি হ'ল কোনওভাবেই আমাদের অ্যাপ্লিকেশন .জার দূষিত হয়েছিল, সুতরাং আমাদের ডেভ সার্ভার থেকে জারটি রেখে একটি স্থির করে দেওয়া হয়েছিল।


0

আমারও একি দশা. রেনাতোর টিপ আমার জন্য কাজ করেছিল। আমি জাভা ক্লাস ফাইলগুলির একটি পুরানো সংস্করণ (ডাব্লুইইবি-আইএনএফ / ক্লাস ফোল্ডারের অধীনে) ব্যবহার করেছি এবং সমস্যাটি অদৃশ্য হয়ে গেছে। সুতরাং, এটি সংকলক সংস্করণ মেলে না হওয়া উচিত।


0

এটি আমার জন্য কৌশলটি করেছে: কেবলমাত্র সমস্ত গ্রন্থাগার সরিয়ে ফেলুন এবং তারপরে সংকলন এবং চালনা করুন। এটি আপনার প্রকল্পের নিশ্চিতকরণে ত্রুটিগুলি প্রম্পট করবে। গ্রন্থাগারগুলি প্রয়োগ করার পরে প্রকল্পটি পুনরায় চালু করুন।


0

সাধারণত সার্ভার জেডিকে সংস্করণ মোতায়েন করা অ্যাপ্লিকেশনটির চেয়ে কম হবে (উচ্চতর জেডিকে সংস্করণ দিয়ে নির্মিত)


-1

টার্মিনালে ক্যাটালিনা লগগুলি দেখানোর জন্য নিম্নলিখিত অনুসরণ কমান্ডটি চালান ---

sh start-camunda.sh; tail -f server/apache-tomcat-8.0.24/logs/catalina.out
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.