web应用配置的logback,为什么在tomcat下没日志文件出现

web应用配置的logback,为什么在tomcat下没日志文件出现


    无比郁闷的时候到了,spring web 配置了logback.xml 文件,放在tomcat下面,应用日志一直不出现,配置了jetty 插件,

 
                org.eclipse.jetty
                jetty-maven-plugin
                
                    13
                    
                        8080
                    
                    
                        /
                    
                
            

,日志文件:

${catalina.home}/logs/app.xml.log

tomat会在自己的脚本atalina.sh会设置${catalina.home}变量,可以搜索: -Dcatalina.home="$CATALINA_HOME" ,查看具体设置环境变量信息。

如果全局环境变量没设置,日志应该在tomcat目录下面的logs文件夹下,可现在运行死活不出来,用jetty插件,当然,找不打这个环境变量,会在web应用下catalina.home_IS_UNDEFINED 文件夹下出现日志(这个文件是如何这样命名的,请查看源码)。


于是,我把pom里面所有关于log4j的依赖统统去掉,这个时候,tomcat 下才出现了日志,而tomcat自身配置的日志也是log4j(tomcat7),感觉是不是和tomcat自身的配置冲突了,但看了tomcat的运行日志,也没发现什么异常的地方。


个人认为要么是log4j版本问题导致,要么是和tomcat自身的log4j冲突?所以,我把web应用里pom里面log4j依赖全都去掉(日志用logback),现在可以打印日志了。


附:为了让日志,统一打印到一个挂载的外部目录下(为了收集日志),日志文件路径配置为:

${TOMCAT_LOG_HOME}/logs/${project_home}/simpleApp.xml.log

${TOMCAT_LOG_HOME} 这个是在系统环境变量设置的,${project_home} 是在logback.xml开头处设置的一个环境变量:


    
    ....................

为了让日志文件分开,也采用了

     

配置。详细看logback官方文档。

 


你可能感兴趣的:(Spring,web服务器,spring,不一样的基础)