2012-03-29 19 views
5

मेरे पास मेरे प्रोजेक्ट में एक एम्बेडेड Hsqldb स्थापित है। लेकिन यह जब काम कर उत्पादन के बारे में जानकारी का एक बहुत उदासीनता, और मैं वर्तमान में है कि जानकारी की जरूरत नहीं है:क्या 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 

वहाँ कि उत्पादन को बंद करने के लिए एक रास्ता है?

+0

संभव डुप्लिकेट http : //stackoverflow.com/questions/5969321/hsqldb-messing-up-with-my-servers-logs) – fglez

उत्तर

4

दुर्भाग्य से, मुझे ऐसा विश्वास नहीं है। हमारे पास हमारी परियोजना में एक ही समस्या है। मेरा मानना ​​है कि मैंने समय पर एक बिंदु पर स्रोत की जांच की और निष्कर्ष निकाला कि hsqldb इस लॉगिंग को प्रभावित करने का एक तरीका प्रदान नहीं करता है।

मैं सही खड़ा हूं (जैसा कि @fredt ने अन्य उत्तर में अपनी टिप्पणी में उल्लेख किया है), आप jdk लॉग स्तर के माध्यम से इस लॉगिंग को नियंत्रित कर सकते हैं। WARNING जैसे कुछ "hsqldb.db" लॉग स्तर को इस आउटपुट को दबाएगा। आप Logger.getLogger("hsqldb.db").setLevel(Level.WARNING) (मान लीजिए कि आप जावा उपयोग लॉगिंग का उपयोग कर रहे हैं) का उपयोग कर logging.properties फ़ाइल या प्रोग्रामेटिक रूप से (hsqldb भार के बाद) का उपयोग कर ऐसा कर सकते हैं।

जैसा कि नीचे दी गई टिप्पणी में उल्लेख किया गया है, hsqldb जावा लॉगिंग कॉन्फ़िगरेशन को रीसेट करता है। यदि इसे किसी अन्य एप्लिकेशन में एम्बेड करना है, तो आप सिस्टम गुण "hsqldb.reconfig_logging" को "झूठी" (से पहले hsqldb लोड होने से पहले) उस सेटिंग को अक्षम कर सकते हैं।

+0

ने आपके सुझाए गए चिमटा का प्रयास किया, लेकिन मेरे आवेदन में एक निश्चित बिंदु के बाद INFO संदेश तब तक दिखाई देने लगे जब तक कि मैंने 'सिस्टम' भी जोड़ा .setProperty ("hsqldb.reconfig_logging", "false"); 'मेरे कोड की शुरुआत में। (मैंने पाया कि एचएसक्यूएलडीबी दस्तावेज में सिस्टम प्रॉपर्टी फ्रेड की टिप्पणी में लिंक के माध्यम से दूसरे उत्तर में है।) –

+1

@GordThompson हे, हाँ, hsqldb जावा लॉगिंग कॉन्फ़िगरेशन पर स्वामित्व का दावा करने का भी प्रयास करता है, इसलिए आपको इसे अक्षम करने की आवश्यकता है। मेरा जवाब अपडेट किया गया। – jtahlborn

0

किसी भी कमांड लाइन समाधान की तलाश में किसी के लिए।

एक संपत्ति एक समर्पित गुण के स्थान की ओर इशारा करते के साथ अपने एप्लिकेशन/सर्वर प्रारंभ करें दायर:

-Djava.util.logging.config.file =/स्थान/के/अपने/hsqldblog.properties " ।

कौन सा HSQLDB के लिए जावा लॉगिंग को बदलने के लिए निम्न पंक्ति शामिल

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

साइड नोट, तो आपको निम्न स्तरों से चुन सकते हैं:

गंभीर चेतावनी जानकारी कॉन्फ़िग फाइन महीन बेहतरीन

More info on Java Logging

0

Slf4j + Logback उपयोगकर्ताओं के लिए:

जोड़े log4j-over-slf4j निर्भरता (यदि बाहर करने के लिए मूल log4j निर्भरता मत भूलना के रूप में तुम्हारे पास कोई)। आप Gradle उपयोग करते हैं, अपने build.gradle में कुछ इस तरह जोड़ने: फिर

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

, अपने logback.xml से जोड़ें:

<logger name="hsqldb.db" level="warn"/> 
[मेरे server's लॉग के साथ खिलवाड़ HSQLDB] (की
संबंधित मुद्दे