2012-06-19 6 views
5

मैं http://logback.qos.ch/मैं लॉगबैक को एक प्रॉपर्टी फ़ाइल कैसे पढ़ूं जो नाम एक चर है?

उपयोग कर रहा हूँ

मैं environemnt उस में चलाया जाता है पर निर्भर करता है उदाहरण के -Dproperties.url=myappproperties-production.properties या -Dproperties.url=myappproperties-development.properties के लिए एक पैरामीटर के साथ अपने जावा प्रक्रिया चला रहा हूँ

समस्या:। कैसे logback बनाने के लिए मेरी गुण फाइल लेने?

गुण फ़ाइल नाम स्थिर मैं क्या करना होगा है (काम करता है ठीक):

<configuration> 
    <property resource="myappproperties-development.properties" /> 
    (...) 
</configuration> 

लेकिन मैं कुछ है कि गतिशील है (इस काम नहीं करता है) की जरूरत है:

<configuration> 
    <property resource="${properties.url}" /> 
    (...) 
</configuration> 

उत्तर

4

संसाधन फ़ाइल का मान एक संपत्ति हो सकता है। दूसरे शब्दों में,

<configuration debug="true"> 
    <property resource="${properties.url}" /> 
    (...) 
</configuration> 

काम करना चाहिए। BYW, कंसोल पर लॉगबैक के आंतरिक संदेश देखने के लिए debug<configuration> तत्व true पर विशेषता सेट करें। आप किस लॉगबैक का उपयोग कर रहे हैं?

+0

समस्या यह थी कि '' और ' 'उदाहरण के लिए URL को संभाल नहीं सकता' फ़ाइल: /// पथ/से/my। properties'। वे सिर्फ फाइलों के लिए पथ संभाल सकते हैं। मैंने एक मुद्दा उठाया [http://jira.qos.ch/browse/LOGBACK-711 ](http://jira.qos.ch/browse/LOGBACK-711)। –

+0

वास्तव में यह काम करता है - पहले मेरे लिए असफल रहा लेकिन मेरे पास एक टाइपो होना चाहिए था। मेरे लिए महत्वपूर्ण रूप से, यह तब भी काम करता है जब फ़ाइल नाम संपत्ति को संपत्ति फ़ाइल से लोड किया जाता है। लेकिन असली कारण यह है कि मैं इसे +1 कर रहा हूं डीबग सेटिंग है। यह एक समर्थक टिप है जो मैं चाहता हूं कि कल मैं जानता था !! – Rhubarb

+0

मेरे लिए काम नहीं किया, इसके बजाय यह पूरी तरह से काम करता है, स्प्रिंग डॉक्स द्वारा अनुशंसित: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html – Sohail

0

यदि आप यूआरएल मूल्य उलटा कॉमा में थे तो आप इसे कैसे संभालेंगे? उदा।

-Dproperties.url="myappproperties-production.properties" 

मैं सिर्फ यह कोशिश की है और यह

कारण मैं पूछता हूँ क्योंकि अमेज़न लचीला बीनस्टॉक में अमेज़न एएमआई के नवीनतम संस्करण को एक संपत्ति के मूल्य के आसपास अल्पविराम के उल्टे जोड़ता है फ्लॉप काम - भले ही एक उपयोगकर्ता does not को निर्दिष्ट इस

0

यह वसंत की सिफारिश की तरीका है:

<configuration> 

    <springProfile name="local"> 
     <!-- configuration to be enabled when the "local" profile is active --> 
     <property resource="application-local.properties" /> 
    </springProfile> 

    <springProfile name="dev"> 
     <!-- configuration to be enabled when the "dev" profile is active --> 
     <property resource="application-dev.properties" /> 
    </springProfile> 

</configuration> 

संदर्भ डॉक्स: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

+०१२३५१६४१०
संबंधित मुद्दे