2012-03-29 34 views
5

Mam osadzony zestaw Hsqldb w moim projekcie. Ale to zrzuca wiele informacji na wyjściu podczas pracy, a ja tego nie potrzebują tego info:Czy istnieje sposób, aby uciszyć rejestrowanie hsqldb?

Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: Checkpoint start 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: checkpointClose start 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: checkpointClose end 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: Checkpoint end 

Czy istnieje sposób, aby uciszyć tę moc?

+0

możliwe duplikat [HSQLDB brudząc się z moich logów server's] (http : //stackoverflow.com/questions/5969321/hsqldb-messing-up-with-my-servers-logs) – fglez

Odpowiedz

4

Niestety, nie wierzę w to. mamy ten sam problem w naszym projekcie. Wierzę, że sprawdziłem źródło w pewnym momencie i doszedłem do wniosku, że hsqldb nie zapewnia sposobu wpływania na to logowanie.

Poprawiam się (jak @fredt wspomniany w swoim komentarzu do drugiej odpowiedzi), możesz kontrolować rejestrowanie poprzez poziomy logów jdk. ustawienie poziomu dziennika "hsqldb.db" na coś podobnego do WARNING spowoduje wyłączenie tego wyjścia. możesz to zrobić za pomocą pliku logging.properties lub programowo (po załadowaniu hsqldb) używając czegoś podobnego do Logger.getLogger("hsqldb.db").setLevel(Level.WARNING) (zakładając, że korzystasz z rejestrowania Java Java).

Jak wspomniano w komentarzu poniżej, hsqldb resetuje również konfigurację rejestrowania Java. Jeśli umieścisz go w innej aplikacji, możesz wyłączyć tę funkcję, ustawiając właściwość systemową "hsqldb.reconfig_logging" na "false" (przed załadowaniem hsqldb).

+0

Wypróbowałem sugerowane poprawki, ale komunikaty INFO nadal pojawiały się po pewnym punkcie w mojej aplikacji, dopóki nie dodałem również 'System .setProperty ("hsqldb.reconfig_logging", "false"); 'na początku mojego kodu. (Znalazłem tę właściwość systemu w dokumentacji HSQLDB poprzez link w komentarzu Freda do drugiej odpowiedzi.) –

+1

@GordThompson heh, tak, hsqldb również próbuje zgłosić prawa własności do konfiguracji rejestrowania java, więc musisz to wyłączyć. zaktualizowałem moją odpowiedź. – jtahlborn

0

Dla każdego, kto szuka rozwiązania z linii poleceń.

Rozpocznij app/serwer z usługą skierowaną do lokalizacji dedykowanego pliku właściwości:

-Djava.util.logging.config.file =/lokalizacja/z/Your/hsqldblog.properties” .

który zawiera następującą linię do zmiany rejestrowanie Java dla hsqldb

# Change hsqldb logging level 
org.hsqldb.persist = WARNING 

marginesie, można wybrać jeden z następujących poziomów:

POWAŻNE OSTRZEŻENIE INFO CONFIG FINE FINER PRAWDZIWE

More info on Java Logging

0

Dla użytkowników slf4j + Logback:

Dodaj log4j-over-slf4j jako zależność (nie zapomnij, aby wykluczyć zależność jeśli oryginalny log4j masz jakieś). Jeśli używasz Gradle, dodać coś takiego do swojego build.gradle:

runtime group: 'org.slf4j', name: 'log4j-over-slf4j', version: '1.7.25' 

Następnie dodać do swojej logback.xml:

<logger name="hsqldb.db" level="warn"/> 
Powiązane problemy