2010-01-29 8 views
13
में डिफ़ॉल्ट लॉग स्तर की स्थापना के लिए एक कमांड लाइन विकल्प

मैं की तर्ज पर कुछ कर सकते हैं:वहाँ जावा

-Djava.util.logging.loglevel=FINE 

जाहिर है कि काम नहीं करता है, लेकिन आप विचार मिलता है। क्या ऐसा कुछ है? या मैं एक गुण फ़ाइल बनाने के लिए मजबूर हूँ?

उत्तर

4

तुम भी एक उपयोगकर्ता परिभाषित संपत्ति के रूप में अपनी लॉग स्तर पारित कर सकते हैं।

-DmyProp.logLevel=FINE 

अपने कोड में:

String logLevel = System.getProperties("myProp.logLevel"); 

लेकिन मैं विचार है कि अपने, एक अधिक "निर्मित" और स्वचालित रूप से प्रबंधित संपत्ति के लिए देख रहे हैं सही है? AFAIK, यह अस्तित्व में नहीं है, लेकिन शायद मैं गलत हूँ।

+1

हाँ, मैं और अधिक में निर्मित कुछ के लिए उम्मीद कर रही थी, लेकिन शायद यह सबसे अच्छा मैं कॉल में –

+0

क्या कर सकते हैं अगर आप '" java.util.logging.loglevel "से बदल' "myProp.logLevel" '' है 'प्रॉपर्टीज (..)' के लिए, यह प्रश्न में अनुमानित काम करेगा। (सिवाय इसके कि आपको खुद को loglevel को पार्स करना होगा?) –

1

आप स्तर एक envrioment चर के आधार पर स्थापित करने के लिए अपने कोड को कॉन्फ़िगर कर सकते हैं:

String sLoglevel= System.getenv("LOGLEVEL"); 
int ilevel = loglevel.parseInt(sLoglevel); 
//set the log level based on retrieved value