2012-03-29 24 views
5

Tôi có một thiết lập Hsqldb được nhúng trong dự án của mình. Nhưng nó đổ rất nhiều thông tin về đầu ra khi làm việc và tôi hiện không cần thông tin đó:Có cách nào để tắt nhật ký hsqldb không?

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 

Có cách nào để tắt tiếng đầu ra đó không?

+0

thể trùng lặp của [HSQLDB rối tung lên với các bản ghi server's của tôi] (http : //stackoverflow.com/questions/5969321/hsqldb-messing-up-with-my-servers-logs) – fglez

Trả lời

4

Thật không may, tôi không tin như vậy. chúng tôi có cùng một vấn đề trong dự án của chúng tôi. tôi tin rằng tôi đã kiểm tra nguồn tại một thời điểm và kết luận rằng hsqldb không cung cấp một cách để ảnh hưởng đến việc ghi nhật ký này.

Tôi đã sửa (như @fredt được đề cập trong nhận xét của mình cho câu trả lời khác), bạn có thể kiểm soát việc ghi nhật ký này thông qua các cấp nhật ký jdk. đặt mức nhật ký "hsqldb.db" thành một cái gì đó như WARNING sẽ ngăn chặn đầu ra này. bạn có thể làm điều này bằng cách sử dụng tệp logging.properties hoặc lập trình (sau khi tải hsqldb) bằng cách sử dụng một cái gì đó như Logger.getLogger("hsqldb.db").setLevel(Level.WARNING) (giả sử bạn đang sử dụng ghi nhật ký sử dụng java).

Như đã lưu ý trong nhận xét bên dưới, hsqldb cũng đặt lại cấu hình ghi nhật ký java. Nếu nhúng nó vào một ứng dụng khác, bạn có thể muốn tắt chức năng đó bằng cách đặt thuộc tính hệ thống "hsqldb.reconfig_logging" thành "false" (trước khi tải hsqldb).

+0

Đã thử tinh chỉnh được đề xuất của bạn, nhưng thông báo INFO tiếp tục xuất hiện sau một thời điểm nhất định trong ứng dụng của tôi cho đến khi tôi cũng thêm vào 'Hệ thống .setProperty ("hsqldb.reconfig_logging", "false"); 'ở đầu mã của tôi. (Tôi thấy rằng thuộc tính hệ thống trong tài liệu HSQLDB thông qua liên kết trong nhận xét của Fred cho câu trả lời khác.) –

+1

@GordThompson heh, vâng, hsqldb cũng cố gắng yêu cầu quyền sở hữu đối với cấu hình ghi nhật ký java, vì vậy bạn cần phải tắt tính năng đó. đã cập nhật câu trả lời của tôi. – jtahlborn

0

Đối với bất kỳ ai đang tìm kiếm giải pháp dòng lệnh.

Bắt đầu ứng dụng/máy chủ của bạn với một tài sản trỏ đến vị trí của một thuộc tính chuyên dụng file:

-Djava.util.logging.config.file =/địa điểm/của/your/hsqldblog.properties" .

nào chứa các dòng sau để thay đổi Java khai thác gỗ cho HSQLDB

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

Side lưu ý, bạn có thể chọn từ các mức sau:

CẢNH BÁO NGHIÊM TRỌNG INFO CONFIG FINE mịn FINEST

More info on Java Logging

0

Đối với người dùng SLF4J + Logback:

Thêm log4j-over-slf4j như một sự phụ thuộc (đừng quên để loại trừ gốc log4j phụ thuộc nếu bạn có bất kỳ). Nếu bạn sử dụng Gradle, thêm một cái gì đó như thế này vào build.gradle của bạn:

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

Sau đó, thêm video này vào logback.xml của bạn:

<logger name="hsqldb.db" level="warn"/> 
Các vấn đề liên quan