java - 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 中的输出。任何人都可以帮助我吗?
解决方案
推荐阅读
- sql-server - 从本地访问数据库批量加载到链接的 ODBC SQL Server 可更新表
- javascript - 当我使用 JavaScript 和 jQuery 在输入框中键入内容时,在预览区域中显示颜色
- android - 编译器的 -fPIE 和 -pie 有什么区别
- dialog - 需要在松弛对话框中输入文本的格式
- ios - Swift 中的 Google 日历 API
- amazon-web-services - AWS S3:使用访问凭证将文件从 S3 复制到远程服务器
- android - 反应本机签名的 apk 构建失败 lint 错误
- php - 为什么 $registrationDetails 显示一个空集合而不是包含 2 个项目的集合?
- python - Tkinter:如何通过函数将两个命令分配给按钮?
- php - Wordpress Nav - 带下拉菜单的水平导航