好的。下面是 Spring Boot 集成 MongoDB 和 Logback 实现日志存储的示例:

  1. 首先,在 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>
  1. 然后,在 application.properties 中配置 MongoDB 的连接信息:
spring.data.mongodb.uri=mongodb://localhost:27017/logs
  1. 接着,创建一个 Log 实体类来映射日志文档:
@Data
@Document(collection = "logs")
public class Log {
    @Id
    private String id;
    private String level;
    private String message;
    private LocalDateTime timestamp;
}
  1. 然后,创建一个 LogRepository 接口来操作日志文档:
public interface LogRepository extends MongoRepository<Log, String> {
}
  1. 接下来,创建一个 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>
  1. 最后,在 Spring Boot 应用中启动 Logback,并使用 Autowired 注入 LogRepository,然后在需要记录日志的地方调用 log
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐