SpringBoot日志文件

目录

日志级别

设置日志级别

日志持久化

获取日志的两种方式

1.LoggerFactory.getLogger(类名.class)

[2. lombok的@slf4j注解和log对象](#2. lombok的@slf4j注解和log对象)


日志级别

由低到高依次是:trace->debug->info->warn->error->fatal

其中当程序里设置了日志级别后,程序只会打印和设置级别相同以及以上的,

设置日志级别

可以针对不同的文件夹设置不同的目录级别

复制代码
logging:
  level:
  root: trace

日志持久化

1.我们可以把日志保存在磁盘中特定的文件中,比如d盘的logs文件夹,使用代码:

java 复制代码
logging:
  file:
  path: D:\logs

最后运行打印后我们在文件中可以找到

  1. 或者按一个文件名字来命名
java 复制代码
logging:
  file:
  name: springbboot-1.log
#名字随便取

此时我们运行后就可以在特定地方找到我们想要持久化保存的日志。

获取日志的两种方式

1.LoggerFactory.getLogger(类名.class)

java 复制代码
//1.传统方式 
//使用private static final Logger logger=LoggerFactory.getLogger(ArticleController.class);
import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 在类级别上使用 @RequestMapping 注解,可以为整个控制器类指定一个基础的 URL 路径,这样在处理方法的时候可以省略该路径的配置
 * 整个类都会被映射到/user路径,
 * */
@RequestMapping("/user")//在设置一层路径,后面还有个hi
@Controller
@ResponseBody//类中所有方法返回数据而不是页面
@Data
public  class UserController {
    //1.得到日志文件
    //private static final Logger logger = LoggerFactory.getLogger(UserController.class);
    private static final Logger logger=LoggerFactory.getLogger("UserController");
    @RequestMapping("/hi")
    public String sayHi(){
        logger.trace("我是 trace");
        logger.info("我是 info");//info就是普通的打印信息,默认日志级别;
        //warn,error,debug
        logger.warn("我是 warn");
        logger.error("我是error");
        logger.debug("我是 debug");
        System.out.println("我是日志");
        return "Hi,SpringBooot";

        /**程序在打印的时候,会打印当前日志级别的及当前级别以上的;
         * */

    }
}

2. lombok的@slf4j注解和log对象

java 复制代码
 2.在类名上使用Lombok的注解@slf4j;
 * 此时在类中的方法里就可以使用log对应的方法
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
@RequestMapping("/art")
@Slf4j
public class ArticleController {
    

    @RequestMapping("/hi")
    public String satHi(){
        log.trace("我是 slf4j的trace");
        log.info("我是 slf4j 的trace");
        log.debug("我是 slf4j的debug");
        log.error("我是 slf4j的error");

        return "hello,Article";
    }


}


关于在pom.xml配置lombok依赖可以去maven仓库中去找,也可以在创建项目的时候选上,也可以在settings里面下载editstarters插件 (快速地添加和删除Starter依赖),之后再pom.xml内容中右键,选择generate,源路径url不改,然后就选择你想要的就ok.
日志作用

1.发现和定位问题;

2.记录用户登陆的日志;->分析是正常登录还是恶意破解用户

3.记录系统的操作日志;->数据恢复和定位操作人

4.记录程序的执行时间;->方便优化程序

相关推荐
鼠鼠我捏,要死了捏17 分钟前
Java虚拟线程原理与性能优化实战
java·performance-optimization·virtual-thread
艾菜籽38 分钟前
Spring MVC练习:留言板
java·spring·mvc
摇滚侠44 分钟前
Spring Boot 3零基础教程,WEB 开发 自定义静态资源目录 笔记31
spring boot·笔记·后端·spring
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 遍历 笔记40
spring boot·笔记·thymeleaf
左灯右行的爱情1 小时前
4-Spring SPI机制解读
java·后端·spring
Code小翊1 小时前
C语言bsearch的使用
java·c语言·前端
yong99901 小时前
C#驱动斑马打印机实现包装自动打印
java·数据库·c#
好记忆不如烂笔头abc1 小时前
linux系统记录登录用户的所有操作
java·linux·服务器
sp421 小时前
一套清晰、简洁的 Java AES/DES/RSA 加密解密 API
java·后端
野犬寒鸦1 小时前
从零起步学习MySQL || 第五章:select语句的执行过程是怎么样的?(结合源码深度解析)
java·服务器·数据库·后端·mysql·adb