慕碼人8056858
2023-06-14 13:56:58
我在我的桌面應(yīng)用程序中使用SLF4Jwith 。Logback應(yīng)用程序可以找到配置文件(target/classes/logback.xml)并以正確的方式配置記錄器。但是當(dāng)我更改配置文件 ( <root level="debug">) 并重新啟動(dòng)應(yīng)用程序時(shí),我的記錄器設(shè)置沒有任何變化。這是我的配置:<configuration debug="true" scan="true" scanPeriod="10 seconds"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${consoleLayoutPattern}</pattern> </encoder> </appender> <appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${fileName}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${filePattern}</fileNamePattern> <maxHistory>60</maxHistory> <totalSizeCap>3GB</totalSizeCap> </rollingPolicy> <encoder> <pattern>${rollingFilePatternLayoutPattern}</pattern> </encoder> </appender> <root level="error"> <appender-ref ref="LOG_FILE" /> <appender-ref ref="CONSOLE" /> </root></configuration>我做錯(cuò)了什么?是否有任何解決方案可以xml在應(yīng)用程序重啟后跟蹤 jar 內(nèi)部配置更改并刷新日志記錄設(shè)置?
1 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
為了不重新構(gòu)建您的項(xiàng)目,您實(shí)際上必須將日志配置文件放在項(xiàng)目之外。我的意思是在您的應(yīng)用程序?qū)傩灾蟹胖么宋募穆窂健?/p>
application.properties
如果您使用的是 Spring Boot,則可以像這樣在文件中配置日志配置文件的路徑:
logging.config=/home/path_to/logback.xml
當(dāng)您啟動(dòng)您的應(yīng)用程序時(shí)執(zhí)行此操作,它將使用指定的應(yīng)用程序,您將不必重建您的項(xiàng)目。
由于此路徑可能會(huì)根據(jù)您的環(huán)境而變化,我強(qiáng)烈建議您在暫存或生產(chǎn)環(huán)境中外部化日志配置文件,如前所述,但也使用外部 application.properties 文件。
您可以在啟動(dòng) Java 程序時(shí)簡單地執(zhí)行此操作:
java?-Dspring.config.location=file:///home/.../application.properties
添加回答
舉報(bào)
0/150
提交
取消