我尝试编写一个位于我的wabapp文件夹(webapp/Files/Logs/Server.log
)中的日志文件。
我正在编写位于minminyanserver/src/main/java/com/minyanserver/utilities/ServerLog.java
的java文件夹中的日志。
日志文件的完整路径为:minyanserver/src/main/webapp/Files/Logs/ServerLog.log
。
java代码是:
FileHandler fh = new FileHandler("$CATALINA_BASE/webapps/Files/Logs/ServerLog.log");
我也尝试过:
FileHandler fh = new FileHandler("../../../../webapp/Files/Logs/ServerLog.log");
我得到一个例外:
java.io.IOException: Couldn't get lock for $CATALINA_BASE/webapps/Files/Logs/ServerLog.log
答案 0 :(得分:4)
请勿尝试写入您的网络应用中的某个位置。容器可以在不提取应用程序的情况下部署应用程序,并且可以将其提取到只读位置。始终使用getResource
从webapp包中加载文件,并将日志和临时文件写入其他位置,最好使用JNDI和/或属性文件进行配置。