2016-05-23 123 views
0

我正在嘗試在我的tomcat服務器上實現Log4J日誌記錄(我們已經在我們的本地環境中實現了這一點,並且我準備將我們的服務遷移到AWS)。我遵循instructions found in the Tomcat7 documentation,並將所有內容都放在合適的位置。當我嘗試啓動Tomcat時,我收到日誌中的FileNotFound異常,並且應用程序無法啓動。爲什麼我收到這個FileNotFoundException,我該如何解決它?

Configuration error 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/logging.properties (No such file or directory) 
     at java.io.FileInputStream.open(Native Method) 
     at java.io.FileInputStream.<init>(FileInputStream.java:146) 
     at java.io.FileInputStream.<init>(FileInputStream.java:101) 
     at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:466) 
     at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:311) 
     at java.util.logging.LogManager$2.run(LogManager.java:320) 
     at java.util.logging.LogManager$2.run(LogManager.java:318) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:318) 
     at java.util.logging.LogManager.getLogManager(LogManager.java:300) 
     at java.util.logging.Logger.<init>(Logger.java:265) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1468) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1466) 
     at java.util.logging.LogManager$1.run(LogManager.java:204) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.<clinit>(LogManager.java:181) 
     at java.util.logging.Logger.demandLogger(Logger.java:339) 
     at java.util.logging.Logger.getLogger(Logger.java:393) 
     at org.apache.juli.logging.impl.Jdk14Logger.getLogger(Jdk14Logger.java:164) 
     at org.apache.juli.logging.impl.Jdk14Logger.<init>(Jdk14Logger.java:55) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
     at org.apache.juli.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1025) 
     at org.apache.juli.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:844) 
     at org.apache.juli.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541) 
     at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292) 
     at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269) 
     at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:657) 
     at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:49) 

我懷疑這是因爲有一些不規範的有關我們Tomcat7配置,而是由一個顧問誰不再對我進行對AWS的初始設置。我在哪裏可以看到什麼,我應該檢查什麼來糾正這個問題?

很好的答案不應該教我把一個logging.properties文件/usr/share/tomcat7/conf/,因爲那不是我的現有配置是如何工作的(我沒有這個問題存在)和tomcat7文件明確地告訴用戶從刪除logging.properties../conf/,除非有一些警告,要求它不在tomcat文檔中表達。

回答

1

看來這個問題與tomcat7 bash shell腳本有關(無論是由上述顧問編寫還是更新)。此腳本經過硬編碼檢查Java選件中的logging.properties文件(-Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties")。

從tomcat7腳本中刪除此行已更正此問題。