07-logback的使用

本文详细介绍如何在项目中配置Logback,包括在pom.xml中添加依赖、创建logback-long.xml配置文件、设置不同环境的日志级别及输出路径,以及在代码中使用日志记录。同时,提供了在Spring Boot应用中启用自定义Logback配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在pom.xml中添加logback需要的依赖包

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <!--logback 开始-->
    <logback.version>1.1.7</logback.version>
    <slf4j.version>1.7.21</slf4j.version>
    <!--logback 结束-->
</properties>
<!--logback 依赖开始-->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
    <scope>compile</scope>
</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>
<!--logback 依赖结束-->

2.在resources下创建logback.long.xml文件

              注意事项不能定义为logback.xml\logback-test.xml(这个是logback的默认配置)

切记要写成-long的形式,不然运行test会报错,出现这个错之后,修改好文件名或者配置文件后,重新导包

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

 

   <!-- 文件输出格式 -->

   <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />

   <!-- test文件路径 -->

   <property name="TEST_FILE_PATH" value="E:/Java/TEST/logs" />

   <!-- pro文件路径 -->

   <property name="PRO_FILE_PATH" value="E:/Java/PRO/logs" />

 

   <!-- 开发环境 -->

   <springProfile name="dev">

      <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">

         <encoder>

            <pattern>${PATTERN}</pattern>

         </encoder>

</appender>

 

<logger name="com.longqiu.learn" level="debug"/>

 

      <root level="info">

         <appender-ref ref="CONSOLE" />

      </root>

   </springProfile>

 

   <!-- 测试环境 -->

   <springProfile name="test">

      <!-- 每天产生一个文件 -->

      <appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

         <!-- 文件路径 -->

         <file>${TEST_FILE_PATH}</file>

         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!-- 文件名称 -->

            <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>

            <!-- 文件最大保存历史数量 -->

            <MaxHistory>100</MaxHistory>

         </rollingPolicy>

        

         <layout class="ch.qos.logback.classic.PatternLayout">

            <pattern>${PATTERN}</pattern>

         </layout>

      </appender>

     

      <root level="debug">

         <appender-ref ref="TEST-FILE" />

      </root>

   </springProfile>

 

   <!-- 生产环境 -->

   <springProfile name="prod">

      <appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

         <file>${PRO_FILE_PATH}</file>

         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>

            <MaxHistory>100</MaxHistory>

         </rollingPolicy>

         <layout class="ch.qos.logback.classic.PatternLayout">

            <pattern>${PATTERN}</pattern>

         </layout>

      </appender>

     

      <root level="warn">

         <appender-ref ref="PROD_FILE" />

      </root>

   </springProfile>

</configuration>

                                    对应日志目前配置为dev输出控制台,test记录info以上信息

3.在application.properties添加log对应配置

logging.config=classpath:logback-long.xml

4.添加测试类LogbackTest

5.修改UserController的user方法

private static final Logger logger= LoggerFactory.getLogger(UserController.class);
@ApiOperation(value = "获取用户信息",notes = "欢迎用户")
@RequestMapping(method = RequestMethod.GET)
public String user(){
    logger.debug("获取用户信息-欢迎用户,debug");
    logger.info("获取用户信息-欢迎用户,info");
    logger.error("获取用户信息-欢迎用户,error");
    return "hello world";
}

注意:导包

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

test:

    

dev:运行MappRunApplication后访问http://localhost:8080/user  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值