Я хотел бы определить свойство/переменную в Logback (1.2.1), которое:
- Имеет значение по умолчанию
- Можно переопределить с помощью параметра командной строки 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
?
logback.xml
для каждой среды, что также не является тем, что я хотел бы делать. Насколько я понимаю, Logback поддерживаетproperties
, который можно использовать внутри файлаlogback.xml
. Я хотел бы иметь возможность определить значение по умолчанию для свойства внутриlogback.xml
для случаев, когда это не переопределяется с консоли через-Dproperty1=....
. - person carlspring   schedule 08.06.2017