2016-02-26 9 views
12

मैं springboot तहत प्रोफाइल के आधार पर अपना logback.xml विभाजित करने के लिए कोशिश कर रहा है, यह मेरा दृष्टिकोण का उपयोग कर:कॉन्फ़िगर logback कई प्रोफ़ाइल

logback-prod.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<include resource="org/springframework/boot/logging/logback/defaults.xml" /> 
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:- ${java.io.tmpdir:-/tmp}}/}spring.log}"/> 
<include resource="org/springframework/boot/logging/logback/file- appender.xml" /> 

<root level="INFO"> 
    <appender-ref ref="CONSOLE" /> 
</root> 
</configuration> 

logback-देव। एक्सएमएल

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<include resource="org/springframework/boot/logging/logback/defaults.xml" /> 
<include resource="org/springframework/boot/logging/logback/console-appender.xml" /> 

<root level="DEBUG"> 
    <appender-ref ref="CONSOLE" /> 
</root> 

logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<include resource="logback-${spring.profiles.active}.xml"/> 

<root level="INFO"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="CONSOLE" /> 
</root> 

और अंत का उपयोग करें:

-Dspring.profiles.active=dev 
or 
-Dspring.profiles.active=prod 

मैं कंसोल में मिल गया:

13:01:44,673 |-ERROR in [email protected]:16 - no applicable action for [configuration], current ElementPath is [[configuration][configuration]] 
13:01:44,674 |-ERROR in [email protected]:81 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 
13:01:44,674 |-ERROR in [email protected]:89 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 
13:01:44,674 |-ERROR in [email protected]:25 - no applicable action for [root], current ElementPath is [[configuration][configuration][root]] 
13:01:44,674 |-ERROR in [email protected]:39 - no applicable action for [appender-ref], current ElementPath is [[configuration][configuration][root][appender-ref]] 
13:01:44,675 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO 

उत्तर

0

ठीक है, मैं एक समाधान मिला:

मैं संपत्ति को मेरे आवेदन.प्रोपर्टीज़ में ले जाता हूं और logback.xml की टैग रूट भी हटा देता हूं और ठीक काम करता हूं।

+0

आप विभिन्न वातावरण के लिए अलग logback.xml का प्रबंधन कैसे किया। मैं प्रत्येक पर्यावरण/प्रोफ़ाइल के लिए अलग logback.xml रखना चाहता हूँ? – Sachin

40

Spring boot documentationlogback-spring.xml बजाय logback.xml उपयोग करने के लिए सिफारिश की गई है और उस में आप वसंत प्रोफ़ाइल टैग का उपयोग कर सकते हैं:

<configuration> 
    <springProfile name="workspace"> 
    ... 
    </springProfile> 
    <springProfile name="dev,prd"> 
    ... 
    </springProfile> 
</configuration> 
संबंधित मुद्दे