项目框架 : maven spring jetty
今天启动项目时 ,发现报错,错误提示如下 :
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
2018-08-01 13:19:07.640:INFO:/:Initializing Spring root WebApplicationContext
{zhijia.praiseme.common.mapper.CCommonLabelMapper.selectList} Has been loaded by XML or SqlProvider, ignoring the injection of the SQL.
{zhijia.praiseme.info.mapper.PInfoMapper.selectPage} Has been loaded by XML or SqlProvider, ignoring the injection of the SQL.
八月 01, 2018 1:19:19 下午 org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 5.0.2.Final
2018-08-01 13:19:25.315:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,[file:/G:/work/project/praiseme/code/praiseme-web/src/main/webapp/]}
重点 : No log4j2 configuration file found. Using default configuration:
没有找到配置文件log4j2.xml ,所以使用 默认的配置,只打印出error级别的错误日志
看下web.xml 的配置
<!-- 1.1Spring 服务层的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring.xml</param-value>
</context-param>
<!-- Log4j2的配置文件 -->
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>classpath:properties/log4j2.xml</param-value>
</context-param>
检查项目的路径 : 发现是有这个文件的
然后尝试将classpath: 改为 classpath*: ,也读取不到这个文件,
然后想是不是这个启动时读取的不是这个classpath下的文件,
因为启动时读取的spring配置文件是成功的,然后尝试将classpath下的目录的文件夹名称给改了,发现就报错了,
现在明确是读取这个路径下的配置文件了,
最后想是不是路径有问题,尝试将这个log4j2.xml文件直接放在classpath , 即截图中的classes 目录下,发现正常读取。。。
请教一下,为什么在配置文件web.xml都不修改的情况下,挪一下log4j2.xml 的位置就可以呢,
web.xml 中明明写的是properties/log4j2.xml 啊
看了半天也没发现是什么问题导致。。。
<p>classpath*:properties/log4j2.xml</p>
这个我试过了,不行。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。