[ https://issues.apache.org/jira/browse/JSPWIKI-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15892819#comment-15892819 ]
Jürgen Weber commented on JSPWIKI-1051: --------------------------------------- The Stacktrace is nothing the web user sees, only visible to an admin. Also the Stacktrace does give full information, admin can react, so no need to change anything. Also, you'd have to find out where logging goes, try to write there and change the logger. Not easy and very logging-implementation dependent. See the error if you run Tomcat in an r/o folder: 02-Mar-2017 20:10:15.571 SEVERE [Catalina-startStop-1] org.apache.catalina.valves.AccessLogValve.open Failed to open access log file [/usr/local/apache-tomcat-8.5.11/logs/localhost_access_log.2017-03-02.txt] java.io.FileNotFoundException: /usr/local/apache-tomcat-8.5.11/logs/localhost_access_log.2017-03-02.txt (Permission denied) > Startup fails due to jspwiki.log (Permission denied) > ---------------------------------------------------- > > Key: JSPWIKI-1051 > URL: https://issues.apache.org/jira/browse/JSPWIKI-1051 > Project: JSPWiki > Issue Type: Bug > Affects Versions: 2.10.2 > Environment: Ubuntu 16.04, Tomcat8 (system instance) > Reporter: Maik Scheibler > > When i follwow the [installation > instructions|https://jspwiki-wiki.apache.org/Wiki.jsp?page=Getting%20Started#section-Getting+Started-Installation] > the JSPWiki webapp fails to start. > {noformat} > log4j:WARN No appenders could be found for logger > (org.apache.wiki.util.PropertyReader). > log4j:WARN Please initialize the log4j system properly. > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more > info. > log4j:ERROR setFile(null,true) call failed. > java.io.FileNotFoundException: jspwiki.log (Permission denied) > at java.io.FileOutputStream.open0(Native Method) > at java.io.FileOutputStream.open(FileOutputStream.java:270) > at java.io.FileOutputStream.<init>(FileOutputStream.java:213) > at java.io.FileOutputStream.<init>(FileOutputStream.java:133) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:294) > at > org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207) > at > org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165) > at > org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104) > at > org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842) > at > org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768) > at > org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514) > at > org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:440) > at org.apache.wiki.WikiEngine.initialize(WikiEngine.java:464) > at org.apache.wiki.WikiEngine.<init>(WikiEngine.java:430) > at org.apache.wiki.WikiEngine.getInstance(WikiEngine.java:370) > at > org.apache.wiki.ui.WikiServletFilter.init(WikiServletFilter.java:82) > at > org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) > at > org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) > at > org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) > at > org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4660) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5281) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939) > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1812) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {noformat} > The current dir of the tomcat is {{/var/lib/tomcat8}}. This directory belongs > to root and the tomcat user has no write permission. > I would prefer to have a fallback for this situation, eg. initializing log4j > with a simple console appender. So the webapp could startup and the log will > be catched by tomcat. -- This message was sent by Atlassian JIRA (v6.3.15#6346)