5

を使用してパッケージをビルドplay distし、Web サーバーにデプロイしました。これで、再起動するたびに application.log が切り捨てられます。そのような行動の考えられる理由は何ですか?

4

2 に答える 2

2

ソース コードではそのように行われます (再起動のたびにログ ファイルを削除します) 。ソース コードはこちらで確認できます。

これを防ぐには、代替conf/logger.xmlファイルを提供し、カスタム構成を使用できます。

たとえば、ユーザーのホーム フォルダーにログ ファイルを作成するには (このドキュメントから引用):

<configuration>

  <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
     <file>${user.home}/logs/myapp.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>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
    </encoder>
  </appender>

  <logger name="play" level="INFO" />
  <logger name="application" level="INFO" />

  <root level="ERROR">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>

</configuration>
于 2012-10-29T08:00:12.327 に答える