好的。下面是 Spring Boot 集成 MongoDB 和 Logback 实现日志存储的示例:
- 首先,在 pom.xml 中添加 MongoDB 和 Logback 的依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
- 然后,在 application.properties 中配置 MongoDB 的连接信息:
spring.data.mongodb.uri=mongodb://localhost:27017/logs
- 接着,创建一个 Log 实体类来映射日志文档:
@Data
@Document(collection = "logs")
public class Log {
@Id
private String id;
private String level;
private String message;
private LocalDateTime timestamp;
}
- 然后,创建一个 LogRepository 接口来操作日志文档:
public interface LogRepository extends MongoRepository<Log, String> {
}
- 接下来,创建一个 Logback 配置文件 logback.xml,配置一个 MongoDBAppender 用来将日志写入 MongoDB:
<configuration>
<appender name="MONGO" class="ch.qos.logback.ext.mongodb.MongoDBAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<connectionString>mongodb://localhost:27017/logs</connectionString>
</appender>
<root level="INFO">
<appender-ref ref="MONGO" />
</root>
</configuration>
- 最后,在 Spring Boot 应用中启动 Logback,并使用 Autowired 注入 LogRepository,然后在需要记录日志的地方调用 log