मुझे एक ही मुद्दे के साथ कोई प्रश्न नहीं मिला है, लेकिन अगर प्रश्न डुप्लिकेट है तो मुझे खेद है।

मेरे पास यह application.properties फ़ाइल है:

## Logback
#logging.level.root=error
#logging.level.com.myapp.test=error
#logging.console=true
#logging.path=%AppData%/MyFolder/log
#logging.file=${logging.path}/logfile.log

और यह मेरी logback.xml फ़ाइल है:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] [%F:%L] - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logging.file}</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] [%F:%L] - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.myapp.test" level="ERROR" additivity="false">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </logger>

    <root level="ERROR">
        <appender-ref ref="STDOUT" />
    </root>

</configuration>

समस्या यह है कि मुझे नहीं पता कि मेरे application.properties फ़ाइल में सापेक्ष पथ% AppData% को कैसे निर्दिष्ट किया जाए। मैं %AppData% या इसी तरह का उपयोग करना चाहता हूं क्योंकि एप्लिकेशन विभिन्न सर्वरों पर चलेगा और मैं पथ का उपयोग करना चाहता हूं: C:\Users\$USERNAME\AppData\Roaming\MyFolder\log

संभव है कि?

0
icarbajo 14 जून 2018, 15:33

1 उत्तर

सबसे बढ़िया उत्तर

पर्यावरण चर स्वचालित रूप से आपके स्प्रिंग कॉन्फ़िगरेशन में मैप किए जाते हैं। तो आप उन्हें किसी अन्य कॉन्फ़िगरेशन चर की तरह उपयोग करने में सक्षम होना चाहिए:

# Logback
logging.level.root=error
logging.level.com.myapp.test=error
logging.console=true
logging.path=${APPDATA}/MyFolder/log
logging.file=${logging.path}/logfile.log

देखें स्प्रिंग बूट - 24. बाहरी विन्यास

1
isnot2bad 14 जून 2018, 16:02