java - 登录java应用程序

标签 java logging hsqldb

我创建了一个单例记录器以在我的 java 应用程序中使用。连接到 hsql 独立数据库之前的所有语句都工作正常,即消息正在被记录。但连接到数据库后的日志记录语句没有被记录。如果我删除连接语句或者与数据库的连接失败,那么该连接语句之后的语句将正常工作。

为什么会发生这种事?

ORLogger.getLogger().log(Level.INFO, "Trying to connect databse . . .");
        Class.forName("org.hsqldb.jdbc.JDBCDriver").newInstance();
        ORLogger.getLogger().log(Level.INFO, "HSQL driver loaded . . .");
        dbConnection = DriverManager.getConnection("jdbc:hsqldb:file:db/db", "username", "password");
        ORLogger.getLogger().log(Level.INFO, "Connected to databse.");

在日志文件中,日志消息由以下语句组成

HSQL driver loaded . . .

但是,此后,日志文件中没有添加任何日志消息。 如果删除连接语句,即

dbConnection = DriverManager.getConnection("jdbc:hsqldb:file:db/db", "username", "password");

上述连接语句之后的所有消息都运行良好。

数据库连接没有问题。所有与数据库相关的工作都很好。但此日志记录无法正常工作。

最佳答案

如果您使用 log4J 或 JDK 日志记录,HSQLDB 将更改设置,除非您有系统属性告诉它不要这样做。请参阅此处:

http://hsqldb.org/doc/2.0/guide/management-chapt.html#mtc_jdc_logging

关于java - 登录java应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153262/

相关文章:

java - 使用 Hypersonic 数据库的 JUnit 测试

java - 我们可以将 .sql 文件导入 HSQL 数据库吗?

java - Camel 主体是用请求而不是响应设置的

java - 在不启动事务的情况下通过 Hibernate 对 MySQL 数据库运行查询的含义是什么?

java - 追加文本文件

java - Java Swing 中的动画线条

logging - Supervisord 不显示通过 docker 查看的进程的标准输出

java - Google App Engine 慢日志更新

java - 使用 class.ForName 注册 HSQLDB 驱动程序

java - 在cmd中执行后退出bat文件