slf4j+logback+spring配置

说明:

slf4j仅仅是日志系统的框架,只服务于各种日志系统(log4j、logback和java.util.logging等)。slf4j就好像是接口或者抽象类,而各种日志系统则是其实现类。

logback

——具体的日志系统

为什么选择logback而不是log4j:

1)logback更快

2)配置相比之下更简单

项目使用spring+springmvc+mybatis传统框架

pom.xml配置文件加入:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

<!--     logback扩展包,监听,用于解决与spring的结合 -->
<dependency>
    <groupId>org.logback-extensions</groupId>
    <artifactId>logback-ext-spring</artifactId>
    <version>0.1.5</version>
</dependency>

logback配置文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="3 seconds">
    <!-- 日志地址 -->
    <property name="LOG_DIR" value="${catalina.home}/logs/" />
    <property name="APP_NAME" value="ctsimdm" />
    <property name="MAX_HISTORY" value="90"/>

    <!-- 控制台输出日志 -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder charset="UTF-8">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{26} - %msg%n</Pattern>
        </encoder>
    </appender>

    <!-- 文件输出日志(Default) -->
    <appender name="default-log-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_DIR}/${APP_NAME}-today.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>${MAX_HISTORY}</maxHistory>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <Pattern>[%d{HH:mm:ss}] [%thread] |%level| %marker %logger{50} -> %X{rpid} %msg %n%ex</Pattern>
        </encoder>
    </appender>

    <root>
        <level value="DEBUG"/>
        <appender-ref ref="stdout"/>
        <appender-ref ref="default-log-file"/>
    </root>
</configuration>

mybatis.xml配置加入

<settings>
    <setting name="logImpl" value="SLF4J"/>
</settings>

web.xml配置加入

<!-- 加载logback配置文件 -->
<context-param>
   <param-name>logbackConfigLocation</param-name>
   <param-value>classpath:logback/logback.xml</param-value>
</context-param>
<listener>
   <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
</listener>

猜你喜欢

转载自blog.csdn.net/wodeshouji6/article/details/84937347