Spring启动登录到mysql数据库

时间:2017-10-20 16:29:27

标签: spring-boot logging log4j

我必须将所有日志数据(即调试,信息,错误)放入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

任何人都可以帮助我这样做。 感谢。

1 个答案:

答案 0 :(得分:4)

  

我阅读了春季启动文档,但我没有看到任何内容   与数据库相关的配置。

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

用于Logback

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

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