日期:2014-05-18  浏览次数:20732 次

javaWeb项目部署到tomcate时读取文件路径和log4j日志文件存放路径的问题
谁给帮忙看下我要实现如下功能,路径要怎么写呢!其实目的就是要实现
当我将JavaWeb项目部署到tomcate上时,我可以正常读取到JavaWeb项目里的文件,也可以将生成的日志文件存放到JavaWeb项目制定的文件夹下!即我进入tomcate里面查看的时候可以在该项目的文件下查看到相应的日志文件!



Java?Web Log4j

------解决方案--------------------
有人的,这个这上面说不清楚。
------解决方案--------------------
引用:
Quote: 引用:


log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${webapp.root}/logger/web.log
log4j.appender.logfile.MaxFileSize=10240KB

直接生成在项目webroot目录下的logger文件夹

我为什么使用后是生成在c:根目录下了,而不是我tomcate上该项目了里面呢?


输出System.getProperty("webapp.root")这个值看看
------解决方案--------------------
request.getServletContext().getRealPath("/");
------解决方案--------------------
使用test1.class.getResource(".")获取当前class所在的目录,以此类推找到你需要的目录!

------解决方案--------------------
引用:
Quote: 引用:

使用test1.class.getResource(".")获取当前class所在的目录,以此类推找到你需要的目录!

那我在log4j的配置文件里路径要怎么传过去呢!

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${webapp.root}/logger/web.log   ????
log4j.appender.logfile.MaxFileSize=10240KB

log4j中的不需要转了,你在程序代码中把路径转向log4j中的所配置的目录下就可以了。
getResource(".")只是或者当前class文件的目录,你也可以获取${webapp.root}/logger下的目录的