HSQLDB HSQLDB 2.5.0 - Wie Loggen abstellen?

inflamer

Bekanntes Mitglied
Hallo Forum,

die HSQLDB-Datenbank nutze ich "nur" als Dependance von UCanAccess. Nun ist es leider so, dass das Ding trotz Versuche dies zu unterbinden, unbeirrt in den StdErr loggt, und zwar keine Fehler, sondern eher so etwas:

Code:
Oct 07, 2022 2:24:55 AM org.hsqldb.persist.Logger logInfoEvent
INFO: Checkpoint start
Oct 07, 2022 2:24:55 AM org.hsqldb.persist.Logger logInfoEvent
INFO: checkpointClose start
Oct 07, 2022 2:24:55 AM org.hsqldb.persist.Logger logInfoEvent
INFO: checkpointClose synched
Oct 07, 2022 2:24:55 AM org.hsqldb.persist.Logger logInfoEvent
INFO: checkpointClose script done

usw.

Die Version von HSQLDB ist die 2.5.0. Habe schon reichlich gegoogelt, wie sich das Loggen denn abstellen ließe, aber nichts gefunden, was funktioniert. (Es werden im Großen und Ganzen die unterschiedlichsten System-Props vorgeschlagen, die bei mir jedoch, wie gesagt, nicht zum gewünschten Resultat führen.)

Weiß hier jemand Abhilfe? Vielen Dank!
 

Oneixee5

Top Contributor
Du kannst eine Datei: hsqldblog.properties anlegen
Code:
org.hsqldb.persist=WARNING
und dein Java-Programm mit dem VM-Parameter: -Djava.util.logging.config.file=hsqldblog.properties starten.
Das ist aber unbequem und fehleranfällig, so kann man die Datei auch direkt im Code als Ressource laden.
Java:
package playground;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.LogManager;

public class Main {

    public static void getCustomers() {
        final String db = "jdbc:hsqldb:file:sampledb;silent=true";
        final String user = "SA";
        final String password = "";
        try (
                Connection connection = DriverManager.getConnection(db, user, password);
                Statement stmt = connection.createStatement();
                ResultSet rs = stmt.executeQuery("select FIRSTNAME, LASTNAME from CUSTOMER");
        ) {
            while (rs.next()) {
                System.out.println("Customer Name: " + rs.getString("FIRSTNAME") + " " + rs.getString("LASTNAME"));
            }
        } catch (final SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(final String[] args) throws IOException {
        // before database access ...
        System.setProperty("hsqldb.reconfig_logging", "false");
        final LogManager manager = LogManager.getLogManager();
        manager.readConfiguration(Main.class.getResourceAsStream("hsqldblog.properties"));
        // ...
        getCustomers();
    }
}
pom.xml:
XML:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>playground</groupId>
  <artifactId>playground</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <release>17</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
      <dependency>
          <groupId>org.hsqldb</groupId>
          <artifactId>hsqldb</artifactId>
          <version>2.5.0</version>
      </dependency>
  </dependencies>
</project>
 

inflamer

Bekanntes Mitglied
Danke für Deine ausführliche Antwort!

Habe mal den Code noch ein wenig weiter angepasst, damit auch die Notwendigkeit einer *.properties-Datei entfällt. Blöderweise funktioniert es so nicht. Wahrscheinlich würde es das unter normalen Umstanden, so mein Verdacht, aber UCanAccess stülpt da wohl nachträglich nochmal seine eigenen Settings drüber. (UCanAccess ist im Prinzip ein JDBC-Treiber für MS Access und nutzt HSQLDB lediglich als Werkzeug zum Zwischenpuffern, jedenfalls nach meinem Verständnis...)

Das bringt mich aber schon mal ein wenig weiter... Ich werde mir wohl mal genauer den UCanAccess-Code ansehen müssen...

Java:
  // before database access ...
  static {
    System.setProperty("hsqldb.reconfig_logging", "false");

    LogManager manager = LogManager.getLogManager();
    try {
      byte[] configFileAsByteArray = "org.hsqldb.persist=WARNING".getBytes();
      manager.readConfiguration(new ByteArrayInputStream(configFileAsByteArray));
    } catch (Exception e) {
      e.printStackTrace(); // wurde bei mir nicht geworfen
    }
  }
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Man könnte in der *.properties-Datei auch noch ein LogFile definieren, damit die restlichen Log-Meldungen nicht verloren gehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B HSQLDB - auto_increment als unexpected token ? Datenbankprogrammierung 1
E Abfrage auf HSQLDB Datenbankprogrammierung 4
windl MySQL und HSQLDB Datenbankprogrammierung 4
D HSQLDB HSQLDB in PHP-Projekt einbinden? Datenbankprogrammierung 7
I Inhalt einer hsqldb anzeigen Datenbankprogrammierung 1
G java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver Datenbankprogrammierung 4
M HSQLDB oder DERBY - warum SCRIPT Datei? Datenbankprogrammierung 0
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E HSQLDB Eclipse + Geronimo + HSQLDB = org.hsqldb.jdbcDriver in classloader Datenbankprogrammierung 5
M HSQLDB 2.0 - wie tmp-Verzeichnis löschen Datenbankprogrammierung 2
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
M Bei HSQLDB etwas wie OPTIMIZE TABLE? Datenbankprogrammierung 2
F HSQLDB HSQLDB lässt mich nicht auf erstellte Tabelle zugreifen Datenbankprogrammierung 12
D datenbank (hsqldb) in runnable jar einbinden Datenbankprogrammierung 2
E Herangehensweise Neues Projekt mit Netbeans / HSQLDB / JPA Datenbankprogrammierung 3
T Hsqldb: java.lang.NoClassDefFoundError: org/hsqldb/Server Datenbankprogrammierung 2
F Kann keine Verbindung mit HSQLDB aufbauen Datenbankprogrammierung 2
S HSQLDB Kopiere Tabellen Datenbankprogrammierung 2
H hsqldb - Database must be shutdown Datenbankprogrammierung 10
O HSQLDB Verbindung schlägt fehl Datenbankprogrammierung 3
K Jpa hsqldb Datenbankprogrammierung 1
N Problem mit HSQLDB Datenbankprogrammierung 5
N Hsqldb und text tables source not found Datenbankprogrammierung 5
B HSQLDB Datenbank Manager Datenbankprogrammierung 19
R SELECT aus hsqldb mit Parameter Datenbankprogrammierung 2
R HSQLDB Datenbankprogrammierung 10
G hsqldb datenspeicherung Datenbankprogrammierung 2
D H2 DB oder doch HSQLDB ? Datenbankprogrammierung 2
A HSQLDB Performance bei erstem Zugriff Datenbankprogrammierung 6
G HSQLDB überprüfen, ob Tabelle bereits existiert Datenbankprogrammierung 3
@ HSQLDB: socket creation error Datenbankprogrammierung 6
G HSQLDB Files Datenbankprogrammierung 5
G maximale Einträge in HSQLDB Datenbankprogrammierung 7
A Datenspeicherung in hsqldb Datenbankprogrammierung 22
A Umgang mit hsqldb Datenbankprogrammierung 24
A Fehler in der HSQLDB Datenbankprogrammierung 6
A Problem mit der Anbindung zur hsqldb Datenbankprogrammierung 18
J HSQLDB ohne JDBC Datenbankprogrammierung 8
C Keine Verbindung zu HSQLDB möglich Datenbankprogrammierung 22
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
G HSQLDB - kann mir jemand Packages erstellen? Datenbankprogrammierung 6
B HSQLDB und die log-Datei Datenbankprogrammierung 10
W HSQLDB Datenbankprogrammierung 6
G HSQLDB als Dateien anlegen Datenbankprogrammierung 5
S nullpointerexception bei HSQLDB Datenbankprogrammierung 4
L HSQLDB sichern (import und export von DB) Datenbankprogrammierung 3
D HSQLDB in JAR Datenbankprogrammierung 3
S hsqldb und ant Datenbankprogrammierung 3
S Hsqldb java.lang.NullPointerException Datenbankprogrammierung 2
D HSQLDB 2xPK + AutoInc Datenbankprogrammierung 22
M HSQLDB Server Problem Datenbankprogrammierung 2
T HSQLDB => diverses Datenbankprogrammierung 21
L persistentes Speichern von Daten in der HSQLDB ? Datenbankprogrammierung 5
A Weitere Fragen zu hsqldb Datenbankprogrammierung 6
A Text-Tabellen in HSQLDB Datenbankprogrammierung 9
A HSQLDB Datenbankprogrammierung 10
A Hsqldb ClassDefNotFound Datenbankprogrammierung 2
M Problem mit HSQLDB Datenbankprogrammierung 2
N Hibernate & hsqldb: Problem bei db-update Datenbankprogrammierung 7
G Problem mit der Startenzeit einer HSQLDB Datenbankprogrammierung 4
T HSQLDB, wie mache ich das mit hsqldb.cache_scale? Datenbankprogrammierung 13
E BufferedImage in hsqldb speichern Datenbankprogrammierung 5
B HSqlDb Datenbankprogrammierung 2
X HSQLDB und Variablen Datenbankprogrammierung 7
R hsqldb: performance, große tabellen und so Datenbankprogrammierung 10
P DERBY vs HSQLDB (Vor- Nachteile) Datenbankprogrammierung 3
EagleEye INSERT INTO Problem mit HSQLDB Datenbankprogrammierung 8
G Vector in hsqldb schreiben Datenbankprogrammierung 5
M Cast-Problem - HSQLDB Datenbankprogrammierung 3
C HSQLDB korrekter Shutdown Datenbankprogrammierung 2
C hsqldb Befehle in Java Datenbankprogrammierung 19
P HSQLDB Mehrbenutzerbetrieb Datenbankprogrammierung 7
D HSQLDB Datenbank Zugriff! Datenbankprogrammierung 4
H javaw bleibt bei hsqldb hängen Datenbankprogrammierung 12
D HSQLDB installieren ... Datenbankprogrammierung 8

Ähnliche Java Themen


Oben