我正在使用Spring,Logback和maven。我想将我的所有设置都放在我用maven构建的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/
我把它放到bean:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:application.properties"/>
</bean>
并使用插件排除maven build的application.properties:
<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>
但它对我不起作用。日志文件名松散datePattern,我在属性文件中更改的内容没有变化。怎么了?请。
更新:没有错误。一切正常。我可以在IDE中运行来更改所有设置。所以我相信我对maven build做错了。
答案 0 :(得分:1)
在你的maven antrun插件中,你正在复制application.properties,而不是移动,所以你的jar中总有一份application.properties! 尝试使用maven标准jar插件配置来排除属性文件:
$('.side-navbar').waypoint('sticky', {
offset: '13%'
});
$(document).ready(function() {
$(window).scroll(function() {
var scrollVal = $(this).scrollTop();
if ( scrollVal > ($(document).height() - $(window).height()) - 400) {
$('.side_navbar').removeClass('stuck');
}
});
});
确保执行
时排除的文件位于应用程序类路径中