我使用构建包play dist并将其部署到网络服务器。现在它在每次重新启动后截断 application.log。这种行为的可能原因是什么?
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   回答
    
    
            0        
        
		
关键是在 logback.xml 的文件 appender 中设置<append>为:true
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
  <append>true</append>
  <file>${user.home}/logs/myapp.log</file>
  <encoder>
    <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
  </encoder>
</appender>
于 2016-12-06T17:10:39.370   回答