我想在的logback來定義屬性/變量(1.2.1),其:如何使用默認值在Logback中定義變量並覆蓋它?
- 具有默認值
- 可以通過Java命令行選項被覆蓋
基本上在開發過程中,我想Maven來像這樣的東西被調用maven-surefire-plugin
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<log.dir>${project.build.directory}/logs</log.dir>
</systemPropertyVariables>
</configuration>
</plugin>
(我敢肯定,上面的工作正常,因爲我有其他屬性被傳入測試這種方式和那些按預期工作)。
目前,我有以下logback.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration scan="true" scanPeriod="30 seconds" debug="false">
<property name="log.dir" value="."/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/logs/my.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>strongbox_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<fileNamePattern>strongbox-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>128MB</maxFileSize>
<maxHistory>31</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS dd-MM-yyyy} | %-5.5p | %-20.20t | %-50.50logger{50} | %m%n</pattern>
</encoder>
</appender>
...
</configuration>
的-Dlog.dir=foo/logs
,它只是被忽略和日誌文件在當前目錄中產生。我在這裏做錯了什麼?它是否需要一個範圍?是否需要設置if
條件?
請換用逗樂引號(「)的路徑參數應該看起來像-Dlog.dir =「foo/logs」 – eg04lt3r
@ eg04lt3r,謝謝,但這不是問題。 – carlspring
我認爲你只能用正確的屬性覆蓋logback文件。請檢查此鏈接https://stackoverflow.com/questions/32658635/how-do-i-load-different-logback-configuration-for-maven-surefire-and-eclipse。 – eg04lt3r