You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Jacob Kjome <ho...@visi.com> on 2004/12/09 07:18:21 UTC
null pointer in FixedWindowRollingPolicy
At 03:33 PM 12/8/2004 +0000, you wrote:
>ceki 2004/12/08 07:33:23
>
> Modified: src/java/org/apache/log4j/rolling/helper
> FileNamePattern.java IntegerTokenConverter.java
> tests/src/java/org/apache/log4j/rolling
> SizeBasedRollingTest.java
> Added: src/java/org/apache/log4j/rolling
> FixedWindowRollingPolicy.java
> Removed: src/java/org/apache/log4j/rolling
> SlidingWindowRollingPolicy.java
> Log:
> - Renamed SlidingWindowRollingPolicy as FixedWindowRollingPolicy.
> - Improved documentation for FixedWindowRollingPolicy.
FixedWindowRollingPolicy currently bombs out because it never bothers to
set the fileNamePattern property. It is currently treated as optional, but
multiple places in FixedWidowRollingPolicy require it to not be null. I
guess it should be doing a check more like TimeBasedRollingPolicy. I
hesitate to change this myself. I suspect it would be reverted anyway.
Here's a nifty stack trace...
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:201)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:386)
Caused by: org.apache.commons.logging.LogConfigurationException:
java.lang.ExceptionInInitializerError (Caused by
java.lang.ExceptionInInitializerError)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:538)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at
org.apache.catalina.core.StandardService.<clinit>(StandardService.java:53)
... 8 more
Caused by: java.lang.ExceptionInInitializerError
at org.apache.log4j.Logger.getLogger(Logger.java:64)
at
org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at
org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
... 12 more
Caused by: java.lang.NullPointerException
at
org.apache.log4j.rolling.FixedWindowRollingPolicy.activateOptions(FixedWindowRollingPolicy.java:100)
at
org.apache.joran.action.NestComponentIA.end(NestComponentIA.java:129)
at org.apache.joran.Interpreter.callEndAction(Interpreter.java:234)
at org.apache.joran.Interpreter.endElement(Interpreter.java:138)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at
org.apache.log4j.joran.JoranConfigurator.doConfigure(JoranConfigurator.java:181)
at
org.apache.log4j.joran.JoranConfigurator.doConfigure(JoranConfigurator.java:159)
at
org.apache.log4j.joran.JoranConfigurator.doConfigure(JoranConfigurator.java:100)
at
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:534)
at
org.apache.log4j.helpers.IntializationUtil.initialConfiguration(IntializationUtil.java:85)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
... 20 more
Jake
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org
Re: null pointer in FixedWindowRollingPolicy
Posted by Ceki Gülcü <ce...@qos.ch>.
At 07:18 AM 12/9/2004, Jacob Kjome wrote:
>At 03:33 PM 12/8/2004 +0000, you wrote:
> >ceki 2004/12/08 07:33:23
> >
> > Modified: src/java/org/apache/log4j/rolling/helper
> > FileNamePattern.java IntegerTokenConverter.java
> > tests/src/java/org/apache/log4j/rolling
> > SizeBasedRollingTest.java
> > Added: src/java/org/apache/log4j/rolling
> > FixedWindowRollingPolicy.java
> > Removed: src/java/org/apache/log4j/rolling
> > SlidingWindowRollingPolicy.java
> > Log:
> > - Renamed SlidingWindowRollingPolicy as FixedWindowRollingPolicy.
> > - Improved documentation for FixedWindowRollingPolicy.
>
>FixedWindowRollingPolicy currently bombs out because it never bothers to
>set the fileNamePattern property. It is currently treated as optional,
>but multiple places in FixedWidowRollingPolicy require it to not be
>null. I guess it should be doing a check more like
>TimeBasedRollingPolicy. I hesitate to change this myself. I suspect it
>would be reverted anyway.
Forgot to check in the corrected code before leaving last
night. I'll commit the fix shortly.
With respect to the NOPAction, I put it back in examples/ because it
serves an educational purpose. (It shows what you need to implement an
Action. As such, it should be placed conveniently within the
tutorial itself.) However, your message was paid attention to. There is a
copy of NOPAction in tests/ as well.
>Jake
--
Ceki Gülcü
The complete log4j manual: http://qos.ch/log4j/
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org