[ https://issues.apache.org/jira/browse/APA-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707466#action_12707466 ]
Randy Watler commented on APA-9: -------------------------------- Summary of further discussions: The simplest solution is to configure this and other reusable portlet webapps to log to console. This, however, does not result in the existing local logging to /logs/pa.log functionality. There are plenty of variants for #1 described above. Previous implementations did not specify the log4j.properties file in the webapp class path, but rather configured log4j explicitly using a local resource url on webapp initialization. This left the log4j instance uninitialized for the first invocation from Tomcat 5 which led to more benign messages in catalina.out until reconfigured. A number of more comprehensive solutions were debated including custom and centralized logging solutions. So far, these have led to various dead ends. This implies that #3 is probably not possible in the near term and thus another solution needs to be arrived at for this issue. > Logging execptions on Tomcat 5.5 startup: cannot find /logs/pa.log > ------------------------------------------------------------------ > > Key: APA-9 > URL: https://issues.apache.org/jira/browse/APA-9 > Project: Portals Apps > Issue Type: Bug > Affects Versions: apa-demo-1.0 > Environment: Jetspeed 2.2, Tomcat 5.5.2[78], JDK 1.5, Linux > (issue does not appear in Tomcat 6.0.18) > Reporter: Randy Watler > Assignee: Randy Watler > Priority: Minor > Fix For: apa-demo-1.0 > > > The following exceptions are thrown into catalina.out on container startup > for demo and webcontent apps: > May 7, 2009 12:08:28 AM org.apache.catalina.startup.HostConfig deployWAR > INFO: Deploying web application archive webcontent.war > log4j:ERROR setFile(null,false) call failed. > java.io.FileNotFoundException: /logs/pa.log (No such file or directory) > at java.io.FileOutputStream.open(Native Method) > at java.io.FileOutputStream.<init>(FileOutputStream.java:179) > at java.io.FileOutputStream.<init>(FileOutputStream.java:102) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) > at > org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) > at > org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) > at > org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) > at > org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) > at > org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) > at > org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) > at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) > at > org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73) > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:209) > at > org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704) > at > org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:381) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4119) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831) > at > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at > org.apache.catalina.core.StandardService.start(StandardService.java:448) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:700) > at org.apache.catalina.startup.Catalina.start(Catalina.java:552) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) > log4j:ERROR setFile(null,false) call failed. > java.io.FileNotFoundException: /logs/velocity.log (No such file or directory) > at java.io.FileOutputStream.open(Native Method) > at java.io.FileOutputStream.<init>(FileOutputStream.java:179) > at java.io.FileOutputStream.<init>(FileOutputStream.java:102) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) > at > org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) > at > org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) > at > org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) > at > org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) > at > org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:533) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:417) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) > at > org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) > at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) > at > org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73) > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:209) > at > org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704) > at > org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:381) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4119) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831) > at > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at > org.apache.catalina.core.StandardService.start(StandardService.java:448) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:700) > at org.apache.catalina.startup.Catalina.start(Catalina.java:552) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.