簡體   English   中英

在Spring MVC 3.0+中添加log4j的基於等效代碼的配置是什么

[英]what's the equivalent code based configuration to add log4j in spring MVC 3.0+

我正在將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>

這是我的初始化課程:

@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[] { "/" };
    }

}

我檢查了AbstractAnnotationConfigDispatcherServletInitializer聲明,並嘗試實現如下所示的onStartUp() ,但是它抱怨找不到addListener

@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);
    }

<listener>元素來自web.xml,而不是來自spring配置。

您要在此處實現的目標是以編程方式添加偵聽器。 這是Servlet API 3.0的功能。 您將必須使用servlet-api 3.0才能執行所需的操作。

例如Tomcat 6+ Jetty 8+等支持Servlet API 3.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM