关于log4j2无法打印服务器启动日志的问题
问题有两个。我新建了SpringMVC+log4j2的简单项目,确保了它能够跑起来,并尝试着重现了一下问题
第一个问题时是日志无法正确打印。
参考下图...
蓝线以上都是jetty插件启动的日志,到蓝线为止启动完毕,这部分仅仅配了SpringMVC时就是这样,配了log4j2之后也没有任何变化;
蓝线以下都是Controller运行的日志,从蓝线开始用浏览器发送了一个请求,这部分跟我想象的完全一致,没有问题。
请问一下有方法或是配置能让蓝线以上的部分正确打印吗?
这是我的Maven依赖列表
这是我的控制器的请求方法
这是我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>web-integration</display-name>
<servlet>
<servlet-name>spring-webmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springframework/dispatcherservlet-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-webmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<filter>
<filter-name>log4jServletFilter</filter-name>
<filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log4jServletFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:springframework/application-context.xml
</param-value>
</context-param>
</web-app>
第二个问题是多个LOG依赖存在的问题。
关于spring-webmvc这个依赖,
我通过eclipse的Dependency Hierachy观察了一下它。
它内部有spring-core,而spring-core内部有commons-logging
这样一来,我感觉项目里面有两个关于LOG的facede依赖了,
分别是commons-logging和log4j2-api。这个冲突又该如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
log4j配置一下编码格式看看可以不可以
commons-logging和log4j2-api 这个不冲突的