如题,我在项目用的LOG4J日志信息 输出到的文件 ,现在是用的写死的路径,“D:\logs\XXXX.html”如果只写xxx.html这个文件会生成到服务器的根目录下面。我的想法是把这个文件生成到项目下面,这样我就可以直接通过网站看到日志信息了。但是不能把路径写死 (因为一写死了,一换地方就又是麻烦), 我就试着用了一个servlet往system里面设置项目当前项目所在路径(app.home),并且设置<load-on-startup>1</load-on-startup>先加载这个servlet...这样就会在系统里设置app.home了。然后在LOG4J的配置就直接写的 ${app.home}\log\xxx.html,这样就不用写死路径了,可居然报错找不到路径,我把servlet 里的信息打印出来,可也是等到最好才会打印出来,debug也是等到最后才会运行请问高手们 要怎么设置启动才会在启动的时候先加载这个servlet。或者有什么方法,思路什么的。都提提吧帮帮忙,谢谢了。
这个问题,我没有实际做过,
但可以给出意见:
1. 你如何确定在 web.xml 中确定你的工程路径,并放置在启动参数中,是 app.home 吗?
2. 这个参数可以在 log4j.xml 中获取的到吗?
3. 如果这一切,都看似正常,那么,你的 app.home 的实际路径又是什么?你是不是应该先检查一下这个路径?!
比如,先打印出来自己调错,自己解决。