zoukankan      html  css  js  c++  java
  • 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的。

  • 相关阅读:
    修改Tarsphp节点线程数避免请求阻塞
    Docker删除所有容器
    清理mysql数据库binlog日志
    查看centos磁盘情况,查找大文件路径
    winform窗体的生命周期和事件加载顺序是什么?
    数据库自增ID用完了会怎么样?
    MPFIT for python
    Plplot中line width 问题
    剪切Postscript图片中的多余边框
    嵌入式下的深度学习 Sparkfun Edge with TensorFlow(一)Hello World
  • 原文地址:https://www.cnblogs.com/elaron/p/2916108.html
Copyright © 2011-2022 走看看