【SSM整合】-logback日志整合

来源:互联网 发布:python里面if else 编辑:程序博客网 时间:2024/06/07 17:28

【更新】已将代码重新简化,现在看起来挺符合我自己的,只有dao层的logger


都说logback比log4j好,所以就放弃了log4j,实现了一下slf4j整合了logback和log4j
用的是Maven整合的项目,下面是日志所需要的依赖,应该比较全了,不知道会不会有多余,大神看到指点一下

<dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>${slf4j.version}</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>${logback.version}</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>${logback.version}</version>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.17</version>        </dependency>        <dependency>            <groupId>org.logback-extensions</groupId>            <artifactId>logback-ext-spring</artifactId>            <version>0.1.4</version>        </dependency>

配置完Maven以后,需要创建一个logback.xml的文件用来记录日志输出样式

<?xml version="1.0" encoding="UTF-8"?><configuration>    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">        <Target>System.out</Target>        <Encoding>UTF-8</Encoding>        <encoder>            <pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} %5p [%t] [%c{1}]:%L - %m%n            </pattern>        </encoder>    </appender>    <appender name="logfile"        class="ch.qos.logback.core.rolling.RollingFileAppender">        <Encoding>UTF-8</Encoding>        <encoder>            <pattern>%d %p [%t] [%c]:%L - %m%n</pattern>        </encoder>        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">            <level>DEBUG</level>        </filter>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <fileNamePattern>log/%d{yyyy-MM-dd-HH'.log'}</fileNamePattern>        </rollingPolicy>    </appender>    <logger name="org.springframework" level="WARN" />    <logger name="org.springframework.remoting" level="WARN" />    <logger name="org.springframework.scheduling.quartz" level="WARN" />    <logger name="org.springframework.data.jpa" level="DEBUG" />    <logger name="org.cometd" level="WARN" />    <logger name="ch.qos.logback" level="WARN" />    <logger name="com.springapp.mvc" level="DEBUG" />    <logger name="cn.fserve.dao" level="DEBUG"></logger>    <!-- <logger name="com.ibatis" level="DEBUG"></logger> -->    <root level="ERROR">        <appender-ref ref="stdout" />        <appender-ref ref="logfile" />    </root></configuration>

这些都配完了,还是不能使用的,还需要在web.xml文件中配置相应的监听器,之前的blog提过一次logback这个文件

<!-- logback -->    <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>

如果不按照我的项目目录的话,其中要修改这个地方

classpath:logback.xml
这个要改成你们的logback.xml的路径

logback.xml借鉴了这两篇文章的内容进行的配置
在logback中配置mybatis显示sql
spring+springMVC+Mybatis下的logback日志

1 0