Добрый день!
Помогите, пожалуйста, со связкой Spring-Logback-Maven. Я уже всю голову сломал (((
Итак, используется Spring, Logback и Maven. Хочу собрать все настройки в Спринговом application.properties, который будет вне Jar, собираемого Мавеном.
Вынес из Logback.xml все интересующие настройки теперь он такой:
<configuration>
<property resource="application.properties" />
<timestamp key="byDate" datePattern="yyyyMMdd"/>
<!-- Send messages to System.out - CONSOLE -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
<withJansi>true</withJansi>
</appender>
<!-- Send messages to a file -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${logging.path}/${spring.application.name}-${byDate}.log</file>
<append>true</append>
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<root level="${logging.level}">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
Занес в application.properties:
#Spring settings
spring.application.name=MyApp
server.port=8087
# Logging settings
logging.level=INFO
logging.path=/Users/...some path.../logs/
Внес в beans искать application.properties рядом:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:application.properties"/>
</bean>
В pom-файле исключил application.properties из Jar:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<excludes>
<exclude>path/to/application.properties</exclude>
</excludes>
</configuration>
</plugin>
И добавил простое копирование рядом:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy todir="target" overwrite="true">
<fileset dir="src/main/resources/">
<include name="*.properties"/>
</fileset>
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
В IDE все отлично работает - как надо. А вот после сборки Мавеном и запуска Jar теряется шаблон имени файла (просто Spring.log становится) и уровень логирования не подтягивается. При этом путь до логов подтягивается, ошибок никаких.
Буду очень-очень благодарен за помощь!