struts2和springmvc中使用logback

slf简介

关于slf、log4j、commons-logging的区别与介绍网上有很多相关的博客,例如 http://blog.csdn.net/yycdaizi/article/details/8276265,我就不再赘述了,目前项目中我使用的是slf4j + logback。

在struts2中使用logback

一般在struts2项目中我们会用到struts2-config-browser-plugin、struts2-convention-plugin、struts2-json-plugin、struts2-rest-plugin这4个插件,那么他们之间jar包的依赖关系如图



所以如果你的项目使用了struts2-rest-plugin插件,那么就必须先将默认的commons-logging排除。
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-rest-plugin</artifactId>
      <version>2.3.20</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
结果如图
struts2和springmvc中使用logback_第1张图片

然后加入slf4j和logback就可以了
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.1.2</version>
    </dependency>

在springmvc中使用logback

springmvc的 jar包依赖结构如图
struts2和springmvc中使用logback_第2张图片

所以也要先将默认的commons-logging排除
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.1.5.RELEASE</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
注意此时需要用到jcl-over-slf4j,即使某个组件原本是通过 JCL 输出日志的,现在却会被 jcl-over-slf4j “骗到”SLF4J 里,然后 SLF4J 又会根据绑定器把日志交给具体的日志实现工具,参考 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/overview.html。
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>1.7.10</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.1.2</version>
    </dependency>

你可能感兴趣的:(struts2,springMVC,logging)