From c46864bbb6818b418111e989d08ccb1ac514a6ab Mon Sep 17 00:00:00 2001
From: xiongxiaoyang <1179705413@qq.com>
Date: Fri, 13 Sep 2024 22:48:00 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20HTTP=20=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E5=92=8C=E5=93=8D=E5=BA=94=E7=9A=84=E6=97=A5=E5=BF=97?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 6 +++
.../novel/core/config/LogbookConfig.java | 37 +++++++++++++++++++
src/main/resources/application.yml | 17 ++++++++-
src/main/resources/logback-spring.xml | 4 ++
4 files changed, 62 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/io/github/xxyopen/novel/core/config/LogbookConfig.java
diff --git a/pom.xml b/pom.xml
index 75139fd..6a249b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,7 @@
3.19.1
3.0.0-M1
2.5.0
+ 3.9.0
@@ -204,6 +205,11 @@
org.flywaydb
flyway-mysql
+
+ org.zalando
+ logbook-spring-boot-starter
+ ${logbook.version}
+
diff --git a/src/main/java/io/github/xxyopen/novel/core/config/LogbookConfig.java b/src/main/java/io/github/xxyopen/novel/core/config/LogbookConfig.java
new file mode 100644
index 0000000..f6cf01a
--- /dev/null
+++ b/src/main/java/io/github/xxyopen/novel/core/config/LogbookConfig.java
@@ -0,0 +1,37 @@
+package io.github.xxyopen.novel.core.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.zalando.logbook.Logbook;
+
+import static org.zalando.logbook.core.Conditions.*;
+
+/**
+ * Logbook 配置
+ *
+ * @author xiongxiaoyang
+ * @date 2024/9/13
+ */
+@Configuration
+public class LogbookConfig {
+
+ @Bean
+ public Logbook logbook() {
+ return Logbook.builder()
+ .condition(exclude(
+ // 忽略 OPTIONS 请求
+ requestWithMethod("OPTIONS"),
+ // 忽略 /actuator 以及其子路径(Spring Boot Actuator 提供的端点)的请求
+ requestTo("/actuator/**"),
+ // 忽略 Swagger 文档路径
+ requestTo("/swagger-ui/**"),
+ requestTo("/v3/api-docs/**"),
+ // 忽略二进制文件请求
+ contentType("application/octet-stream"),
+ // 忽略文件上传请求
+ contentType("multipart/form-data")
+ ))
+ .build();
+ }
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a91d118..aea10e4 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -30,7 +30,7 @@ server:
--- #---------------------数据库配置---------------------------
spring:
datasource:
- url: jdbc:mysql://localhost:3306/novel_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/novel?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: test123456
# ShardingSphere-JDBC 配置
@@ -229,6 +229,19 @@ spring:
class: javax.net.ssl.SSLSocketFactory
fallback: false
+--- #----------------------Logbook配置-----------------------------
+logbook:
+ format:
+ # 输出格式
+ style: http
+ obfuscate:
+ headers:
+ # 隐藏 Authorization 头信息
+ - Authorization
+ parameters:
+ # 隐藏密码参数
+ - password
+
--- #---------------------自定义配置----------------------------
novel:
# 跨域配置
@@ -237,7 +250,7 @@ novel:
allow-origins:
- http://localhost:1024
- http://localhost:8080
- # JWT密钥
+ # JWT 密钥
jwt:
secret: E66559580A1ADF48CDD928516062F12E
# XSS 过滤配置
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index a7883d6..f2e9d9f 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -62,6 +62,10 @@
+
+
+
+