在spring mvc与mybatis中加入logback

来源:互联网 发布:linux run as root 编辑:程序博客网 时间:2024/05/16 23:55

工作了一年多了,想着结合工作,搭一个自己的框架。老样子新建maven web项目,加入spring,mybatis,log4j等然后上传到github。今天工作中发现公司项目用得logback于是想着把logback加进自己的项目中。老规矩既然是maven项目使用logback首先肯定是更改pom.xml文件

        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>1.7.7</version>        </dependency>        <!-- logback(日志记录) -->        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>1.1.2</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>1.1.2</version>        </dependency>        <!-- 由官方提供的对Spring的支持 -->        <dependency>            <groupId>org.logback-extensions</groupId>            <artifactId>logback-ext-spring</artifactId>            <version>0.1.2</version>        </dependency>        <!-- 把Spring源代码中大量使用到的commons-logging替换成slf4j,只有在添加了这个依赖之后才能看到Spring框架本身打印的日志,否则只能看到开发者自己打印的日志 -->        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>jcl-over-slf4j</artifactId>            <version>1.7.12</version>        </dependency>

如果你的项目像我之前已有的log4j的jar包引入,例如

        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.5</version>        </dependency>
最好删除掉,以免启动项目发生类型转换错误

这里说一下slf4j-api只是一组接口,logback,log4j都是它的实现,所以不管你用何种工具实现日志都推荐使用slf4j。

之后加入logback.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration><configuration></configuration>
你没看错,你如果只想看mybatis查询sql最简单使用就这么写就够了,之后在web.xml加入

    <context-param>        <param-name>logbackConfigLocation</param-name>        <param-value>classpath:logback.xml</param-value>    </context-param>    <listener>        <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>    </listener>


最后在mybatis配置文件中加入

    <settings>        <setting name="logImpl" value="STDOUT_LOGGING"/>      </settings>
如果有<setting name="logImpl" value="LOG4J"/>最好隐藏掉。好了整个配置就完成了,项目启动简单查询就会打印类似以下日志。如果想要输出更多配置,请自己再去找找logback.xml的标签使用吧


最后附上我自己的项目结构


0 0