为什么我的项目中读取不到log42.xml 文件,导致日志不输出呢
项目框架 : 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 啊
看了半天也没发现是什么问题导致。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个我试过了,不行。。。