At 01:27 PM 12/9/2004 +0000, you wrote: >ceki 2004/12/09 05:27:21
> if (fileNamePatternStr != null) {
> + fileNamePattern = new FileNamePattern(fileNamePatternStr);
> determineCompressionMode();
> }
>Ceki,
FixedWindowRollingPolicy is still broken. Try providing a config file without specifying the "fileNamePattern" param and watch it blow up. Note the following code...
if (fileNamePatternStr != null) {
fileNamePattern = new FileNamePattern(fileNamePatternStr);
determineCompressionMode();
}IntegerTokenConverter itc = fileNamePattern.getIntegerTokenConverter();
You only initialize the fileNamePattern object only if the string was provided. If it wasn't, it isn't initialized. And then in the very next line of code, you use the fileNamePattern object, resulting in a NullPointerException. It is then used at least 7 other times in the class. Why haven't you taken the same approach here as you did in TimeBasedRollingPolicy as I recommended yesterday?....
public void activateOptions() {
// find out period from the filename pattern
if (fileNamePatternStr != null) {
fileNamePattern = new FileNamePattern(fileNamePatternStr);
determineCompressionMode();
} else {
getLogger().warn(FNP_NOT_SET);
getLogger().warn(SEE_FNP_NOT_SET);
throw new IllegalStateException(FNP_NOT_SET + SEE_FNP_NOT_SET);
}
.....
.....It is obvious that both the activeFileName the fileNamePattern params must be required in FixedWindowRollingPolicy. Here's another stack trace to prove it (after commenting out the "fileNamePattern" param in my config file)....
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:102)
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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
