gpt4 book ai didi

spring-boot - Spring启动登录mysql数据库

转载 作者:行者123 更新时间:2023-12-04 03:12:52 27 4
gpt4 key购买 nike

我必须将所有日志数据(即调试、信息、错误)放入 mysql 数据库而不是文件/控制台。
我阅读了 spring boot 文档,但没有看到任何与用于日志记录的数据库相关的配置。

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

还尝试了以下链接,但它也不起作用。
https://www.tutorialspoint.com/log4j/log4j_logging_database.htm

谁能帮我做到这一点。
谢谢。

最佳答案

I read the spring boot documentation but I didn't see any configuration related to database for logging.



因为 Spring Boot 将该功能交给了日志框架(slf4j + logback/log4j 等)。因此,您需要使用它的配置文件(例如:logback.xml、logback-spring.xml、logback.groovy 等)相应地配置您的日志记录框架。 Spring boot 中的默认日志框架是 slf4j+logback。因此,请查看如何使用 DBAppender。

对于登录

https://logback.qos.ch/manual/appenders.html#DBAppender
http://learningviacode.blogspot.com/2014/01/writing-logs-to-database.html
Log to database with LogBack
https://medium.com/@chakrar27/storing-log-data-in-postgresql-using-logback-db-appender-292891a9918

1. 创建 logback.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="db" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource
class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>org.postgresql.Driver</driverClass>
<url>jdbc:postgresql://localhost:5432/simple</url>
<user>postgres</user>
<password>root</password> <!-- no password -->
</connectionSource>
</appender>

<!-- the level of the root level is set to DEBUG by default. -->
<root level="TRACE">
<appender-ref ref="stdout" />
<appender-ref ref="db" />
</root>
</configuration>

2. 创建 3 个表

日志事件

logging_event_property

logging_event_exception

它们必须存在才能使用 DBAppender

对于 Log4J

https://logging.apache.org/log4j/2.x/manual/appenders.html#JDBCAppender

对于 Log4J2

http://smasue.github.io/log4j2-spring-database-appender

关于spring-boot - Spring启动登录mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853433/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com