• 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的。

  • 相关阅读:
    weblogic无需用户名密码启动Server
    中文和unicode互转
    spring集成activeMQ
    jvm分析(MD语法)
    解决java.lang.NoClassDefFoundError: org/apache/log4j/Level
    httpclient 支持代理和http & https
    容器配置jndi Tomcat为例
    java https tomcat 单双认证(含证书生成和代码实现) 原创转载请备注,谢谢O(∩_∩)O
    java Http原生 Get 和Post 支持代理认证
    解决客户端访问https报错
  • 原文地址:https://www.cnblogs.com/elaron/p/2916108.html
Copyright © 2020-2023  润新知