无比郁闷的时候到了,spring web 配置了logback.xml 文件,放在tomcat下面,应用日志一直不出现,配置了jetty 插件,
<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <scanIntervalSeconds>13</scanIntervalSeconds> <httpConnector> <port>8080</port> </httpConnector> <webAppConfig> <contextPath>/</contextPath> </webAppConfig> </configuration> </plugin>
<file>${catalina.home}/logs/app.xml.log</file>
如果全局环境变量没设置,日志应该在tomcat目录下面的logs文件夹下,可现在运行死活不出来,用jetty插件,当然,找不打这个环境变量,会在web应用下catalina.home_IS_UNDEFINED 文件夹下出现日志(这个文件是如何这样命名的,请查看源码)。
于是,我把pom里面所有关于log4j的依赖统统去掉,这个时候,tomcat 下才出现了日志,而tomcat自身配置的日志也是log4j(tomcat7),感觉是不是和tomcat自身的配置冲突了,但看了tomcat的运行日志,也没发现什么异常的地方。
个人认为要么是log4j版本问题导致,要么是和tomcat自身的log4j冲突?所以,我把web应用里pom里面log4j依赖全都去掉(日志用logback),现在可以打印日志了。
附:为了让日志,统一打印到一个挂载的外部目录下(为了收集日志),日志文件路径配置为:
<file>${TOMCAT_LOG_HOME}/logs/${project_home}/simpleApp.xml.log</file>
<configuration> <variable name="project_home" value="XXXXapp" /> ....................
<include resource="xxxg.xml" />