Я нашел это исключение в своих журналах:
log4j: ОШИБКА Произошла ошибка при преобразовании даты.
java.lang.NullPointerException
в java.lang.System.arraycopy (родной метод)
в java.lang.AbstractStringBuilder.getChars (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)
в org.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.Category.info (Category.java:666)
в org.obliquid.db.ConnectionManager.releaseConnection (ConnectionManager.java:313)
в org.obliquid.db.ConnectionManager.finalize (ConnectionManager.java:331)
в java.lang.ref.Finalizer.invokeFinalizeMethod (собственный метод)
на java.lang.ref.Finalizer.runFinalizer (Finalizer.java:83)
на java.lang.ref.Finalizer.access $ 100 (Finalizer.java:14)
в java.lang.ref.Finalizer $ FinalizerThread.run (Finalizer.java:160)
Я думаю, что это может быть вызвано моим файлом log4j.properties, в частности ConversionPattern. Есть идеи как починить?
#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 , я даже не упоминаю формат даты.
d Используется для вывода даты события регистрации. За спецификатором преобразования даты может следовать спецификатор формата даты, заключенный в фигурные скобки. Например,% d {ЧЧ: мм: сс, SSS} или% d {дд МММ гггг ЧЧ: мм: сс, ССС} Если спецификатор формата даты не указан, то предполагается формат ISO8601.
Я добавил явный шаблон преобразования: %d{yyyy-MM-dd HH:mm:ss} [%t] %p %c - %m%n
- просматривая журнал, и я сообщу, поможет ли он.
ОБНОВЛЕНИЕ 2 : проблема больше не возникает.