SpringBoot日志输出

本文介绍如何在SpringBoot项目中配置与使用日志,包括添加必要的依赖、配置日志级别及路径,并通过示例展示如何利用SLF4J进行日志记录。

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

下面简单介绍下Springboot如何使用日志

1. 添加依赖(可不加)

        #web容器
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        #devtools小工具(我用于用于热部署)
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        #lombok(推荐)
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        #测试(随意)
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2、配置日志

解释:说明一下日志文件的名字,存储地方,等级
注意:请你把名字前的路径写全了,防止出错,细细看过文档可以不这么做(等级可以不写)

server:
  port: 1314
#设置日志级别
logging:
  file:
    path: /Users/admin/Desktop/springboot/springboot03/src/main/java/com/sunjiahui/springboot03/log/
    name: /Users/admin/Desktop/springboot/springboot03/src/main/java/com/sunjiahui/springboot03/log/springboot03.log
  level:
    springboot.springboot03.src.main.java.com.sunjiahui.springboot03.log: error

3. 实现日志打印

注意:导包不要错了
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

思路:
创建日志对象就要先在日志工厂中得到它,映射对应当前类
如何只需要改调用就能打印日志了

package com.sunjiahui.springboot03.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author 孙膑
 * @Date 2022/8/19
 */
@RestController
public class LoggerController {
    //1.得到日志对像
    private static Logger logger = LoggerFactory.getLogger(LoggerController.class);

    @RequestMapping("/logger01")
    public String logger01(){
        //2.使用日志打印
        logger.trace("trace");
        logger.debug("debug");
        logger.info("logger01:info");
        logger.warn("warn");
        logger.error("error");
        return "logger01:打印成功!";
    }
    /**
     * trace:微量,少许的意思,级别最低;
     * info:普通的打印信息;
     * debug:需要调试时候的关键信息打印;
     * warn:警告,不影响使⽤,但需要注意的问题;
     * error:错误信息,级别较⾼的错误⽇志信息;
     * fatal:致命的,因为代码异常导致程序退出执⾏的事件。
     */
}

4.lombok实现日志打印

看过上面例子就懂了,创建对象很麻烦,因此依赖中应用lombok插件后就可以用@Slf4j代替创建对象可,实质是一样的。该注解写在需要打印日志的类上。

package com.sunjiahui.springboot03.controller;

import com.sunjiahui.springboot03.pojo.Student;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author 孙膑
 * @Date 2022/8/19
 */
@RestController
@Slf4j
/**
 * @Slf4j 等同于  private static Logger logger = LoggerFactory.getLogger(Logger02Controller.class); 可以看字节码发现
 */
public class Logger02Controller {

    @RequestMapping("/logger02")
    public String logger02(@RequestParam(value = "name",defaultValue = "false") String name,
                           @RequestParam(value = "age",defaultValue = "false") Integer age){
        if(null == name || null == age){
            log.warn("[创建对象] 参数缺失 name={},age={}",age,name);
            return "参数缺失";
        }
        log.info("[创建对象] 设置属性 name={},age={}",name,age);
        Student stu1 = new Student(name,age);
        log.error("[创建对象] 装填数据 stu1={}",stu1);
        if(age<=18){
            log.warn("[创建对象] 未成年人警告:stu1={},警告年龄:age={} ",stu1,stu1.getAge());
        }
        return "logger02:打印成功!";
    }
}

你仔细观察可以发现
log.info("[创建对象] 设置属性 name={},age={}",name,age);
不是单纯的打印文字的,name={} 对应的就是name

我们一起看看效果吧~
(运行后在浏览器上传参是一样的,工具不会用没事儿!)
在这里插入图片描述
结果:看蓝框~
在这里插入图片描述

源码+笔记:点我跳转

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶鲨要抱抱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值