现在的位置: 首页 > 综合 > 正文

Logback In Servlet

2012年11月10日 ⁄ 综合 ⁄ 共 1495字 ⁄ 字号 评论关闭

  之前在看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的。

抱歉!评论已关闭.