Java 什么';在spring MVC 3.0+中添加log4j的等效基于代码的配置;

Java 什么';在spring MVC 3.0+中添加log4j的等效基于代码的配置;,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在将Spring MVC项目迁移到基于代码的配置,但不确定如何添加侦听器 下面是我的web.xml中的内容 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/spring/log4j.xml</param-value> </context-param> <listener>

我正在将Spring MVC项目迁移到基于代码的配置,但不确定如何添加侦听器

下面是我的web.xml中的内容

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>WEB-INF/spring/log4j.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
元素来自web.xml,而不是spring配置

您在这里试图实现的是编程我添加了一个侦听器。这是我的一个特点。您必须使用ServletAPI3.0才能做您想做的事情

例如,在Tomcat6+Jetty8+等中支持ServletAPI 3.0

@Order(1)
public class Initializer extends
        AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { RootConfig.class, SecurityConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] { WebConfig.class };
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

}
@Override
    public void onStartup(ServletContext container) throws ServletException {
        org.springframework.web.util.Log4jConfigListener log4jConfigListener = new org.springframework.web.util.Log4jConfigListener();
        container.addListener(log4jConfigListener);
        super.onStartup(container);
    }