提交 98a6c0bb 编写于 作者: X xuml

feat: 晚上slf4j-simple的demo

上级 5d67609e
# Java Log SLF4j simple demo
测试使用SLF4j-simple 输出日志的
Spring Boot环境下,简单配置`slf4j-simple` 方式就是在`application.properties` 增加`logging.` 前缀的配置
例如
`logging.level.root = info`
更详细的配置可以增加`simplelogger.properties` 配置文件来配置
默认的日志输出格式相当于`log4j``"%r [%t] %level %logger - %m%n"`
## 引入对应依赖
```xml
<!--添加Slfj 依赖-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
```
Spring 默认引入了`JCL``SLF4j` 两个门面,因此如果只测试`SLF4j` 就需要排除`spring-jcl`,
但由于Spring Boot项目内部有使用`JCL`门面的日志输出,因此需要再额外引入`JCL`的门面包`commons-logging`
```xml
<!--添加jcl 依赖-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
```
只是这样会原本使用`JCL`输出的日志将无法输出,因为没有具体的`JCL`实现了。这个问题后面解决。
> `spring-jcl` 是Spring自己实现的 `jcl` 重定向到`slf4j`的包。
日志输出:
```log
2023-10-26 16:43:58.706 [main] DEBUG Slf4jSimpleTests - 这是debug日志...
2023-10-26 16:43:58.709 [main] INFO Slf4jSimpleTests - 这是info日志...
2023-10-26 16:43:58.710 [main] WARN Slf4jSimpleTests - 这是warn日志...
2023-10-26 16:43:58.710 [main] ERROR Slf4jSimpleTests - 这是error日志...
2023-10-26 16:43:58.710 [main] INFO Slf4jSimpleTests - 这是info日志...test
2023-10-26 16:43:58.710 [main] INFO Slf4jSimpleTests - public class org.slf4j.simple.SimpleLogger
```
......@@ -15,6 +15,7 @@
<description>java-log-slf4j-simple-demo</description>
<properties>
<java.version>1.8</java.version>
<slf4j.version>2.0.9</slf4j.version>
</properties>
<dependencies>
<dependency>
......@@ -25,6 +26,10 @@
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
<exclusion>
<artifactId>spring-jcl</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
......@@ -46,23 +51,24 @@
<optional>true</optional>
</dependency>
<!--添加jcl 依赖-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!--添加Slfj 依赖-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.9</version>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.9</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
<version>${slf4j.version}</version>
</dependency>
</dependencies>
......
# 全局日志默认级别
org.slf4j.simpleLogger.defaultLogLevel=DEBUG
# 指定包路径下class字节码产生日志的展示级别,不配置默认是INFO
# org.slf4j.simpleLogger.log.com.baomidou.mybatisplus.generator=DEBUG
# 显示时间
org.slf4j.simpleLogger.showDateTime=true
# 时间格式
org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
# 线程名
org.slf4j.simpleLogger.showThreadName=true
# 包路径
org.slf4j.simpleLogger.showLogName=true
# 短的包路径
org.slf4j.simpleLogger.showShortLogName=true
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册