当前位置: 首页 > 知识库问答 >
问题:

Spring Boot登录mysql数据库

阎德义
2023-03-14

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

邴星洲
2023-03-14

我阅读了Spring引导留档,但我没有看到任何与日志记录数据库相关的配置。

因为SpringBoot将该功能交给了日志框架(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使用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_exception

它们必须存在,才能使用DBAppender

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

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

 类似资料:
  • 主要内容:通过命令行客户端软件登录当MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows 操作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。 登录 MySQL 数据库的具体操作步骤如下: 步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。 步骤 2):打开命令行提示符界面,输入命令 ,按回车键,如图所示。 步骤 3):在

  • 我尝试将springboot应用程序配置为每天登录一个文件,因此我将logback.xml配置为: 所以当我尝试运行我的应用程序时,我得到了这个错误:

  • 我是mysql和php的新手。 一直致力于为用户创建一个带有表的数据库。 我已经成功地将用户添加到数据库中,他们的密码是md5(是的,我知道它不安全),它不会在线启动。 我的问题是,如何根据用户正确的用户名和密码登录。 这是我的密码 我的逻辑是taht查询运行后,它将返回true或false。 如果为真,则显示成功登录,否则不成功。 然而,即使我输入了正确的用户名和密码,我仍然会收到一条不成功的登

  • 我有一个moodle数据库(其中有完整的用户)。所以,我想创建一个登录表单(只是为了好玩),并且用户可以用他们的moodle帐户credidentials登录。Moodle为每个单独的用户使用密码盐,我如何在我的代码中盐密码来与db记录进行比较?

  • 我想用springboot项目生成MySQL数据库。我创建了一个maven项目,这是pom.xml:

  • 似乎Springboot自动配置自己来使用Tomcat的Logback。我想禁用它,并使用我在类路径中提供的一个。 LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或类[org.slf4j.impl.SimpleLoggerFactory]的竞争实现(类org.slf4j.impl.SimpleLoggerFactory)对象必须是类ch.