首页 > 解决方案 > LogBack 不会将日志放入 db

问题描述

在我的应用程序中,我需要在控制台中打印日志,然后我必须将它们放入数据库中。我的应用程序在控制台中打印日志,但没有将日志放入数据库。这是我的logback.xml

<configuration>
    <!-- Appenders -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5level - %class.%method :
                %line]%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/postgres</url>
            <user>postgres</user>
            <password>admin</password> <!-- no password -->
        </connectionSource>
    </appender>

    <!-- Logger for my project -->
    <logger name="com.myproject">
        <appender-ref ref="console" />
        <appender-ref ref="db" />
    </logger>
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="db" />
    </root>
</configuration>

我对我有这些依赖pom.xml

<dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>

这是 MyClass.java:

Logger logger=(Logger) LoggerFactory.getLogger(MyClass.class);
                    logger.info("HOME");

问题是它打印控制台中的输出,但未打印 db 中的输出。任何人都可以帮助我吗?

标签: javalogginglogbackappender

解决方案


推荐阅读