我有一个自定义conf/logback.xml
,如下所示:
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date - %coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
<appender name="my-app" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/my-app.log</file>
<encoder>
<pattern>%date - [%logger] [%level] - %message%n</pattern>
</encoder>
</appender>
</configuration>
当我暂停我的应用activator clean stage
并转到target/universal/stage/bin
并执行./myApp -Dapplication.home=/home/me/myApp
时,我希望创建日志并将其写入/home/me/myApp/logs
,但我所看到的是:
/home/me/myApp/logs
中创建,其中包含空日志文件/home/me/myApp/target/universal/stage/logs
中创建,其中包含日志文件[不需要] target/universal/stage/logs
,而不是我定义为${application.home}
[不期望] 当我跑./myApp -verbose -Dapplication.home=/home/me/myApp
时,我看到有一个参数正在打印:
-Duser.dir=/home/me/myApp/target/universal/stage
让我相信这会影响最终编写日志的位置。
为什么logback不写入/home/me/myApp/logs
中创建的新文件而是创建/home/me/myApp/target/universal/stage/logs
并将所有日志写入其中的任何想法?
感谢。