logback配置---Spring集成logback

本文介绍如何在项目中配置Logback与Spring的集成,包括pom.xml依赖配置、web.xml监听器配置及logback.xml详细配置。实现不同级别日志的精确控制,并通过logback-ext-spring扩展包实现与Spring的完美结合。
摘要由CSDN通过智能技术生成
 项目中重新采用了logback日志组件,替换log4j,由于以前使用log4j时,spring有结合log4j启动的类,但是logback现在还没有,可以自己写代码完成,官方已经写了一个扩展,用于解决与spring的结合——logback-ext-spring。

具体配置如下:

1、 pom.xml文件中添加配置:

 <!-- logback+slf4j -->
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.7.25</version>
        </dependency>
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
          <version>1.1.11</version>
        </dependency>
          <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.1.11</version>
        </dependency>
<!--     logback扩展包,监听,用于解决与spring的结合 -->
        <dependency>
          <groupId>org.logback-extensions</groupId>
          <artifactId>logback-ext-spring</artifactId>
          <version>0.1.4</version>
        </dependency>


2、web.xml 配置

       <!-- 配置日志     logback-->
         <context-param>
            <param-name>logbackConfigLocation</param-name>
            <param-value>/WEB-INF/config/logback.xml</param-value>
         </context-param>
         <!--     logback扩展,监听,用于解决与spring的结合 -->
        <listener>
           <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
       </listener>


3、logback.xml 配置 :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
         <!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->  
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>
    <!-- ch.qos.logback.core.rolling.RollingFileAppender 文件日志输出 -->
    <appender name="mavenProjectlogs"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>C:/myProject/mavenProject.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>C:/myProject/mavenProject.log.%d{yyyy-MM-dd}
            </fileNamePattern>
            <maxHistory>5</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="springlogs"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>C:/myProject/mavenProject-spring.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>C:/myProject/mavenProject-spring.log.%d{yyyy-MM-dd}
            </fileNamePattern>
            <maxHistory>5</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>
    
    <!--精确设置每个包下面的日志  -->
    <logger name="com" level="DEBUG">
        <appender-ref ref="mavenProjectlogs" />
    </logger>
    
    <logger name="org.springframework" level="ERROR">
        <appender-ref ref="springlogs" />
    </logger>
    <logger name="org.springframework.web" level="ERROR">
        <appender-ref ref="springlogs" />
    </logger>
    
    <!-- Hibernate显示sql参数值 -->
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" />
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" />
    <!-- <logger name="org.hibernate.SQL" level="DEBUG" />
    <logger name="org.hibernate.type" level="TRACE" />
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> -->
    
     <!-- 定义了ERROR和INFO级别的日志,分别在STDOUT/mavenProjectlogs输出 -->  
    <root level="ERROR">
        <appender-ref ref="STDOUT" />
    <!--     <appender-ref ref="mavenProjectlogs" /> -->
    </root>
</configuration>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值