2011-10-01 45 views
6

परिवर्तित मैं अपने लॉग में यह अपवाद पाया:log4j: त्रुटि करते समय त्रुटि हुई तारीख

log4j: जबकि तारीख परिवर्तित त्रुटि त्रुटि हुई। java.lang.AbstractStringBuilder.getChars पर java.lang.System.arraycopy (मूल निवासी विधि) पर java.lang.NullPointerException (AbstractStringBuilder.java:328) java.lang.StringBuffer.getChars पर (StringBuffer.java:201) org.apache.log4j.helpers.ISO8601DateFormat.format (ISO8601DateFormat.java:130 पर ) java.text.DateFormat.format (DateFormat.java:316 पर) org.apache.log4j.helpers.PatternParser $ DatePatternConverter पर .convert (PatternParser.java:443) org.apache.log4j.helpers.PatternConverter.format (PatternConverter.java:65) org.apache.log4j.PatternLayout.format (PatternLayout.java:506) संगठन पर .apache.log4j.WriterAppender.subAppend (WriterAppender.java:310) org.apache.log4j.WriterAppender.append (WriterAppender.java:162) org.apache.log4j.AppenderSkeleton.doAppend (AppenderSkeleton.java:251) org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders पर (AppenderAttachableImpl.java:66) org.apache.log4j.Category.callAppenders (category.java:206) org.apache.log4j.Category.forcedLog (category.java:391) org.apache.log4j पर। श्रेणी.info (category.java:666) org.obliquid.db.ConnectionManager.release कनेक्शन (कनेक्शन मैनेजर.जावा:313) org.obliquid.db.ConnectionManager.finalize (ConnectionManager.java:331) जावा पर। jang.lang.ref.Finalizer.runFinalizer (Finalizer.ja पर lang.ref.Finalizer.invokeFinalizeMethod (मूल विधि) va: 83) java.lang.ref.Finalizer.access $ 100 (Finalizer.java:14) java.lang.ref.Finalizer $ FinalizerThread.run (Finalizer.java:160) पर

मैं कम से लगता है कि यह मेरी log4j.properties फ़ाइल के कारण हो सकता है, विशेष रूप से रूपांतरणपटल द्वारा। कैसे ठीक करने के बारे में कोई विचार?

#Updated at Wed Sep 14 21:57:51 CEST 2011 
#Wed Sep 14 21:57:51 CEST 2011 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.rootLogger=INFO, stdout 
log4j.appender.R.File=yamweb.log 
log4j.appender.R.MaxFileSize=1000KB 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 
log4j.appender.R=org.apache.log4j.RollingFileAppender 

log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

log4j.logger.yamweb=DEBUG 
log4j.logger.org.springframework=INFO 
log4j.logger.org.springframework.beans=DEBUG 
log4j.logger.com.amazonaws=WARN 

अद्यतन: असल में, PatternLayout JavaDoc को देख, मैं भी एक दिनांक स्वरूप का उल्लेख नहीं है।

डी लॉगिंग ईवेंट की तारीख को आउटपुट करने के लिए प्रयुक्त होता है। तिथि रूपांतरण विनिर्देश के बाद ब्रेसिज़ के बीच संलग्न दिनांक प्रारूप विनिर्देशक का अनुसरण किया जा सकता है। उदाहरण के लिए,% डी {एचएच: मिमी: एसएस, एसएसएस} या% डी {डीडी एमएमएम yyyy एचएच: मिमी: एसएस, एसएसएस}। यदि कोई दिनांक प्रारूप विनिर्देशक नहीं दिया गया है तो ISO8601 प्रारूप माना जाता है।

मैंने एक स्पष्ट रूपांतरण पैटर्न जोड़ा है: %d{yyyy-MM-dd HH:mm:ss} [%t] %p %c - %m%n - लॉग को देखकर और अगर आपको मदद मिलती है तो मैं आपको बता दूंगा।

अद्यतन 2: समस्या अब और नहीं हुई।

उत्तर

4

ऐसा लगता है कि यह एक बहुत दुर्लभ स्थिति है।
http://comments.gmane.org/gmane.comp.jakarta.log4j.user/13835

मैं प्रश्न में कोड को देखने की थी: त्रुटि के लिए Googling ऊपर वर्ग अन-लोड हो रहा है के साथ कुछ 2006 से निम्नलिखित चर्चा कर दिया,।यदि lastTimeString किसी भी तरह
क्लास रीलोड पर प्रारंभ नहीं हुआ था, तो
पर एक एनपीई हो सकता है Chars() प्राप्त करने के लिए कॉल करें। हालांकि, वीएम या
क्लास रीलोडिंग हैक में कुछ विफलता से कम, मुझे नहीं लगता कि आखिरी टाइमस्ट्रिंग कैसे शून्य हो सकती है।

संपादित करें:

मैं एक स्पष्ट रूपांतरण पैटर्न जोड़ दिया है::% d {yyyy-MM-yyyy HH: mm: ss} [% टी]% p एक समाधान के लिए ऊपर प्रश्न देखें % सी -% एम% एन

यह भी निम्नलिखित प्रश्न के लिए काम करना प्रतीत होता है: NPE with Perf4j and Log4j

+0

धन्यवाद, स्टैक ट्रेस वास्तव में काफी समान है, मुझे यकीन नहीं है कि इसका कारण समान है या नहीं। दिनांक प्रारूप को बदलने से समस्या हल हो गई है, मैंने यह पुष्टि करने के लिए अपना प्रश्न संपादित कर दिया है कि समस्या हल हो गई थी। – stivlo

+0

http://obscuredclarity.blogspot.com/2010/08/error-occured-while-converting-date.html सहमत हैं – rogerdpack

+0

मेरे लिए सही समस्या हल करें :) – krakover

0

मैंने अभी इस अपवाद पर ठोकर खाई है, और इसे पोर्टलेट (या सर्वलेट, जो कुछ भी) फ़ोल्डर से log4j.jar हटाकर हल किया गया था।

0

मुझे पता है कि यह एक पुराना धागा है, लेकिन मैंने सर्वर को पुनरारंभ करके इस समस्या को ठीक किया है। हाँ, cliche उत्तर, लेकिन कोशिश करने लायक

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