Logback In Servlet


  之前在看Log4j2,想在項目中使用它。后來發現在servlet中這家伙不怎么好使。雖然很新,但是beta版本總是不適合做上線的產品。之前曾經看到過有人說logback is  awesome。今天決定試一試它的效果。如果對web很熟悉的,只要看step2和step5就可以了,剩下的都是基本的web配置的東東。

step1:首先在myeclipse中新建一個web project。

step2:然后直接把logback-core-1.0.9.jar、logback-classic-1.0.9.jar、slf4j-api-1.7.2.jar還有logback-access-1.0.9.jar拖到工程下的WEB-INF/lib目錄下。

之所以要導入logback-access-1.0.9.jar包的原因是“The logback-access module integrates with Servlet containers, such as Tomcat and Jetty, to provide HTTP-access log functionality.”

step3:在jsp頁面中加入一個表單,action指向我們要測試的servlet,再添加一個button,讓頁面可以觸發這個servlet。

step4:在web.xml中配置一下

step5:新建一個TestServlet,填入logback相關的代碼

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestServlet extends HttpServlet{

    private static final long serialVersionUID = 1L;

    @Override
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
            throws ServletException, IOException {
        Logger logger = LoggerFactory.getLogger(TestServlet.class.getName());
        logger.error("Hello world.");
    }
}

可以看到logback天然地使用了SLF4J,所以在切換其他logging framework的時候也不用特別操心了。

step6:run as -》myeclipse server application

選擇tomcat 7.0

step7:在瀏覽器重觸發按鈕,使servlet被調用。

在console查看輸出結果。

至此,整個簡單的在servlet中使用logback的測試已經完成了。

剛才看了logback的architecture,感覺比Log4j2要簡潔清晰一些,同時也有很多非常類似的地方,比如logger之間在level上的繼承關系。

現在在看logback的configuration,跟Log4j2的也蠻像的,同樣,還是比Log4j2更為清晰,而且還有自動查新。

之前折騰那么久的Log4j2感覺有點浪費時間了。應該一開始就看logback的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM