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

Java嵌入式数据库(H2)日志记录

濮阳鸿卓
2023-03-14

我想更改我的嵌入式数据库的日志记录。每次我打开一个连接,atm都会记录“......创建新的JDBC驱动程序连接到......”。在我的测试套件中,我为每个请求打开一个新的连接,现在有很多这样的消息。

EmbeddedDatabase embeddedDatabase = new EmbeddedDatabaseBuilder()
            .generateUniqueName(true)
            .setType(EmbeddedDatabaseType.H2)
            .build();
...
Connection connection = embeddedDatabase.getConnection();

我没有找到任何类型的日志级别。我只是可以设置PrintWriter。但是我想看看错误msgs。我在Spring之外运行这个作为常规单元测试。

有什么想法吗?

共有1个答案

邢臻
2023-03-14

看起来像是来自EmbeddedDatabase和DriverManager的getConnection方法为连接创建了不同的默认日志级别。默认配置适合我的问题。所以代码如下所示:

new EmbeddedDatabaseBuilder()
            .setName("test")
            .setType(EmbeddedDatabaseType.H2)
            .build();
...
Connection connection = DriverManager
       .getConnection("jdbc:h2:mem:test", "sa", "");
... or
Connection connection = DriverManager
       .getConnection("jdbc:h2:mem:test;TRACE_LEVEL_SYSTEM_OUT=3", "sa", "");

更多选择:https://h2database.com/html/features.html#trace_options

 类似资料:
  • 问题内容: 目前,我们使用HSQLDB作为嵌入式数据库,但是随着数据量的增长,我们将搜索内存占用更少的数据库。 Derby / JavaDB 目前无法选择,因为它在系统属性中全局存储属性。所以我们想到了h2。 当我们使用HSQLDB时,我们创建了一个Server对象,设置参数并启动它。这描述在这里(和如实施例中的类org.hsqldb.test.TestBase的给定)。 问题是:这也可以与h2数

  • 我对一个应用程序的JPA层进行了几个单元测试。这个JPA层由JPA实体和一个提供持久化实体所需的基本API的服务组成。单元TET直接使用javax.Persistence类来处理PersistenceManager。然后测试持久性API,我可以在日志中看到创建表和序列等的SQL语句。 persistence.xml文件的相关部分如下所示: 我已经下载了Windows安装程序H2 1.4.200,并

  • 问题内容: 因此,我最近才开始学习有关数据库如何工作,如何使用SQL ect的知识。并决定开始在我的Java应用程序(特别是H2数据库)中实现嵌入式数据库,并且在我编写代码的计算机上似乎运行良好。 当我移到另一台计算机上继续进行编码时,我注意到,即使我移植了嵌入式数据库文件(h2-*。jar),我在第一台计算机上创建的所有准备好的表也不在第二台计算机上存在。我以某种方式先入为主,即通过数据库引擎生

  • 问题内容: 我打算开发一个小型(Java)应用程序来管理我的财务。我相信我需要使用嵌入式数据库,但是我没有关于此问题的经验。我试图查看一些可用的产品,但是我无法确定哪种产品更适合我。H2,HSQLDB,Derby和Berkeley DB似乎是不错的候选者,但是我仍然看不到它们之间的比较。感谢您的比较,并帮助我决定使用哪个。 我打算将Hibernate用于我的应用程序(除非您建议使用DBMS提供的A

  • 我目前正在一个系统中工作,那里有多个laravel项目,利用空间日志进行activity日志记录。我想知道在一个地方(数据库)获取所有这些日志的最佳方法。我还想知道是否可以将空间日志存储在多个数据库中?

  • 延迟可能是调用的一个问题。这是BeagleBone Black的限制,我的代码,还是仅仅是数据日志的性质? 这里提出了一个类似的问题,但似乎没有解决我的问题:在嵌入式Linux系统中查找延迟问题(stalls)