1、用eclipse3.7开发spring web项目testWeb,
log4j.properties:
log4j.rootLogger=DEBUG,R,stdout
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${logFilePath}/test.log
web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>
我的eclipse安装在d盘
启动服务后,发现日志在D:\test.log
而在eclipse发布的目录下的testWeb\www\log\下没有日志文件。
请问这是什么原因造成的?
37 个解决方案
#1
日志都是绝对路径吧
#2
不应该是绝对路径吧。
#3
没有人给解答一下吗
#4
你这样试试--
web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
log4j.properties:
log4j.appender.R.File=${test}/logs/test.log
web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
log4j.properties:
log4j.appender.R.File=${test}/logs/test.log
#5
还是一样。log文件仍然生成到了D盘根目录
#6
你看一下testWeb下面有logs文件夹么
#7
我就直接写的log4j.appender.R.File=${test}/test.log
但是日志仍然是在D盘根目录
但是日志仍然是在D盘根目录
#8
${test}/
最终是什么呢??
应该就变成d盘了吧
最终是什么呢??
应该就变成d盘了吧
#9
context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
${test}不应该是我工程发布的路径下吗?
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
${test}不应该是我工程发布的路径下吗?
#10
我觉得这个问题,可能跟eclipse3.7有关。
#11
有个log4j.properties文件里面可以配置你日志的生成目录
#12
我已经配置了路径了。
而且我把工程拷贝到了tomcat下执行,启动tomcat,
发现日志仍然生成在了D盘。
真是郁闷了。
我用maven构建的工程,完全没有问题,正常执行。
同样的代码,只不过现在不是maven的模式,就不能正常执行了,真奇怪。
而且我把工程拷贝到了tomcat下执行,启动tomcat,
发现日志仍然生成在了D盘。
真是郁闷了。
我用maven构建的工程,完全没有问题,正常执行。
同样的代码,只不过现在不是maven的模式,就不能正常执行了,真奇怪。
#13
log.getFile();
打印出来看看。
打印出来看看。
#14
哦,不太明白
#15
把这个${logFilePath}值打印看下
#16
DailyRollingFileAppender appender = (DailyRollingFileAppender)Logger.getRoot().getAppender("R");
System.err.print("log path = " + appender .getFile());
打印出来看看是否是${logFilePath}值有问题。
#17
log4j。properties:
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
web。xml里面没有任何配置,用的是spring,是可以自动加载上properties的
打印出来的是:
log path = /WEB-INF/logs/test.log
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
web。xml里面没有任何配置,用的是spring,是可以自动加载上properties的
打印出来的是:
log path = /WEB-INF/logs/test.log
#18
log4j.appender.R.File=c:/test.log
他还能生成到D盘?
他还能生成到D盘?
#19
写死了就生成到c盘了。
可是我想把日志放到工程下面。
可是我想把日志放到工程下面。
#20
我知道,现在是分析原因呢。
都得到日志文件的路径了尽然写到D盘了,真是头一次见。
要不你别在配置文件设路径了,直接在代码里里设
DailyRollingFileAppender应该有设置文件的方法。
都得到日志文件的路径了尽然写到D盘了,真是头一次见。
要不你别在配置文件设路径了,直接在代码里里设
DailyRollingFileAppender应该有设置文件的方法。
#21
嗯。是的,也是第一次遇到这种问题。
问了几个同事,都觉得不可能出现这种事情。
汗。
问了几个同事,都觉得不可能出现这种事情。
汗。
#22
我碰到过类似的问题。
是这样的,默认生成的日志是在tomcat的安装目录所在的根目录下面。
你的tomcat安装在D盘?
是这样的,默认生成的日志是在tomcat的安装目录所在的根目录下面。
你的tomcat安装在D盘?
#23
我到觉得是apache-tomcat\bin下呢,那你怎么解决的。
#24
我们不需要解决,我们要就是放到根目录下。
#25
我靠,这算啥么,逃避问题?
#26
我的tomcat的确放在d盘。
可是我已经在properties里面定义了
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
难道这个webapp.root是表示了tomcat的根路径啊。
可是,我同事其他的工程也是用的这样的方法,
那我在web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>
定义了logFilePath
然后log4j.appender.R.File=${logFilePath}/test.log
log就到了工程路径下。
这是什么原因,是我的log文件写的不对?
可是我已经在properties里面定义了
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
难道这个webapp.root是表示了tomcat的根路径啊。
可是,我同事其他的工程也是用的这样的方法,
那我在web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>
定义了logFilePath
然后log4j.appender.R.File=${logFilePath}/test.log
log就到了工程路径下。
这是什么原因,是我的log文件写的不对?
#27
木有人回答一下吗
#28
/WEB-INF/logs有这个文件夹吗?
#29
有的。在工程下面都设置了的。
#30
${webapp.root} 是需要你自己定义的。
#31
问题解决了。呵呵。
谢谢各位。
谢谢各位。
#32
原因何在?难道没有读写权限?
#33
不是。
是配置文件的问题。
都在web.xml里面。
1、可以不配置properties,这样就只能是在tomcat的根路径下。
2、配置properties,加上listener。
是配置文件的问题。
都在web.xml里面。
1、可以不配置properties,这样就只能是在tomcat的根路径下。
2、配置properties,加上listener。
#34
把你web.xml贴出来
#35
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/classes/log4j.properties</param-value> </context-param> -<context-param> <param-name>webAppRootKey</param-name> <param-value>myappfuse.root</param-value> </context-param> -<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
#36
弱弱 回答下 你eclipse 关掉 再开下吧
#37
呃哦..
#1
日志都是绝对路径吧
#2
不应该是绝对路径吧。
#3
没有人给解答一下吗
#4
你这样试试--
web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
log4j.properties:
log4j.appender.R.File=${test}/logs/test.log
web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
log4j.properties:
log4j.appender.R.File=${test}/logs/test.log
#5
还是一样。log文件仍然生成到了D盘根目录
#6
你看一下testWeb下面有logs文件夹么
#7
我就直接写的log4j.appender.R.File=${test}/test.log
但是日志仍然是在D盘根目录
但是日志仍然是在D盘根目录
#8
${test}/
最终是什么呢??
应该就变成d盘了吧
最终是什么呢??
应该就变成d盘了吧
#9
context-param>
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
${test}不应该是我工程发布的路径下吗?
<param-name>webAppRootKey</param-name>
<param-value>test</param-value>
</context-param>
${test}不应该是我工程发布的路径下吗?
#10
我觉得这个问题,可能跟eclipse3.7有关。
#11
有个log4j.properties文件里面可以配置你日志的生成目录
#12
我已经配置了路径了。
而且我把工程拷贝到了tomcat下执行,启动tomcat,
发现日志仍然生成在了D盘。
真是郁闷了。
我用maven构建的工程,完全没有问题,正常执行。
同样的代码,只不过现在不是maven的模式,就不能正常执行了,真奇怪。
而且我把工程拷贝到了tomcat下执行,启动tomcat,
发现日志仍然生成在了D盘。
真是郁闷了。
我用maven构建的工程,完全没有问题,正常执行。
同样的代码,只不过现在不是maven的模式,就不能正常执行了,真奇怪。
#13
log.getFile();
打印出来看看。
打印出来看看。
#14
哦,不太明白
#15
把这个${logFilePath}值打印看下
#16
DailyRollingFileAppender appender = (DailyRollingFileAppender)Logger.getRoot().getAppender("R");
System.err.print("log path = " + appender .getFile());
打印出来看看是否是${logFilePath}值有问题。
#17
log4j。properties:
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
web。xml里面没有任何配置,用的是spring,是可以自动加载上properties的
打印出来的是:
log path = /WEB-INF/logs/test.log
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
web。xml里面没有任何配置,用的是spring,是可以自动加载上properties的
打印出来的是:
log path = /WEB-INF/logs/test.log
#18
log4j.appender.R.File=c:/test.log
他还能生成到D盘?
他还能生成到D盘?
#19
写死了就生成到c盘了。
可是我想把日志放到工程下面。
可是我想把日志放到工程下面。
#20
我知道,现在是分析原因呢。
都得到日志文件的路径了尽然写到D盘了,真是头一次见。
要不你别在配置文件设路径了,直接在代码里里设
DailyRollingFileAppender应该有设置文件的方法。
都得到日志文件的路径了尽然写到D盘了,真是头一次见。
要不你别在配置文件设路径了,直接在代码里里设
DailyRollingFileAppender应该有设置文件的方法。
#21
嗯。是的,也是第一次遇到这种问题。
问了几个同事,都觉得不可能出现这种事情。
汗。
问了几个同事,都觉得不可能出现这种事情。
汗。
#22
我碰到过类似的问题。
是这样的,默认生成的日志是在tomcat的安装目录所在的根目录下面。
你的tomcat安装在D盘?
是这样的,默认生成的日志是在tomcat的安装目录所在的根目录下面。
你的tomcat安装在D盘?
#23
我到觉得是apache-tomcat\bin下呢,那你怎么解决的。
#24
我们不需要解决,我们要就是放到根目录下。
#25
我靠,这算啥么,逃避问题?
#26
我的tomcat的确放在d盘。
可是我已经在properties里面定义了
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
难道这个webapp.root是表示了tomcat的根路径啊。
可是,我同事其他的工程也是用的这样的方法,
那我在web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>
定义了logFilePath
然后log4j.appender.R.File=${logFilePath}/test.log
log就到了工程路径下。
这是什么原因,是我的log文件写的不对?
可是我已经在properties里面定义了
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/test.log
难道这个webapp.root是表示了tomcat的根路径啊。
可是,我同事其他的工程也是用的这样的方法,
那我在web.xml:
<context-param>
<param-name>logFilePath</param-name>
<param-value>www/log</param-value>
</context-param>
定义了logFilePath
然后log4j.appender.R.File=${logFilePath}/test.log
log就到了工程路径下。
这是什么原因,是我的log文件写的不对?
#27
木有人回答一下吗
#28
/WEB-INF/logs有这个文件夹吗?
#29
有的。在工程下面都设置了的。
#30
${webapp.root} 是需要你自己定义的。
#31
问题解决了。呵呵。
谢谢各位。
谢谢各位。
#32
原因何在?难道没有读写权限?
#33
不是。
是配置文件的问题。
都在web.xml里面。
1、可以不配置properties,这样就只能是在tomcat的根路径下。
2、配置properties,加上listener。
是配置文件的问题。
都在web.xml里面。
1、可以不配置properties,这样就只能是在tomcat的根路径下。
2、配置properties,加上listener。
#34
把你web.xml贴出来
#35
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/classes/log4j.properties</param-value> </context-param> -<context-param> <param-name>webAppRootKey</param-name> <param-value>myappfuse.root</param-value> </context-param> -<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
#36
弱弱 回答下 你eclipse 关掉 再开下吧
#37
呃哦..