Play Framework logback.xml не соответствует предоставляемой переменной env

У меня есть обычай 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 но вместо этого я вижу:

  1. каталог создан в /home/me/myApp/logs с пустыми файлами журнала
  2. каталог также создается в /home/me/myApp/target/universal/stage/logs с файлами журналов [не ожидается]
  3. все действия пользователя в приложении приводят к записи журналов в 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 а все логи там пишет?

Благодарю.

0 ответов

Другие вопросы по тегам