slf4j 日志文件使用

434 阅读1分钟

日志在项目开发、生产中是必不可少,能够帮助我们快速定位程序 bug 的位置,下面是程序集合 slf4j 的简单使用。

项目:springboot 版本:2.7.5
lombok:1.18.24
这里使用了 lombok 插件,里面包含有 log4j的jar包,lombok 能够减少代码重复,更方便我们开发,开发中推荐使用。

一、添加依赖

在pom文件中添加如下依赖:

<!-- lombok 依赖-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.24</version>
</dependency>

二、添加注解

添加依赖后,在需要打印日志的控制器上添加 @log4j 注解,就能使用日志打印了,demo 如下:

@RestController
@Slf4j
/**
 * @author: yuqn
 * @Description:
 * 打印日志
 * @date: 2022/10/25 20:05
 */
public class TestController {
    @RequestMapping("/log")
    public String test() {
        for (int i = 1; i < 100; i++){
        log.info("info日志");
        log.warn("warn日志");
        log.error("error日志");}
        return "测试日志";
    }
}

三、添加配置文件

# 主要是对日志输出进行配置
# 设置端口
server:
  port: 8080
# 设置日志打印
# logging.level.root: 日志级别
# logging.pattern.console: 日志输出格式
  # %m为消息
  # %n为换行
  # %p 级别
  # %t 为线程名 %16t 则线程名占16位
  # %clr 是添加颜色
  # 例如 %clr(%m) 则日志消息带有颜色
# logging.file.name: 记录日志到文件
# logging.file.logback.rollingpolicy.max-file-size: 日志文件大小
# logging.file.logback.rollingpolicy.file-name-pattern: 超过最大后,重新创建日志文件名称
logging:
  level:
    root: error
  pattern:
    console: "%d - %m %n"
  file:
    name: E:\myJavaProject\springbootSlf4j\server.log
  logback:
    rollingpolicy:
      max-file-size: 1KB
      file-name-pattern: E:\myJavaProject\springbootSlf4j\server.%d{yyyy-MM-dd}.%i.log

四:结果

在浏览器访问 http://localhost:8080/log 后,就能看到日志目录以及日志的内容了,如下:

image.png

image.png

五:拓展

日志级别有 fatal 、 error 、 warn 、 info 、debug 、track 、all 等,其中级别由高到低为 fatal > error > warn > info > debug > track > all,error 、warn 、info 在开发中比较常见。

上面有 logging.level.root 属性,该属性是设置日志输出级别,也就是说只能输出 error 级别及以上的日志,这也就是在日志文件中只能看到 error 日志的原因。

六:代码参考

github:https://github.com/Yuqn/slf4jPro.git