play がいろいろと変わっているので、いろいろと走り書き
<!-- https://www.playframework.com/documentation/latest/SettingsLogger --> <configuration> <conversionRule conversionWord="coloredLevel" converterClass="play.api.libs.logback.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 - %message%n%xException</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%coloredLevel %logger{15} - %message%n%xException{10}</pattern> </encoder> </appender> <appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="FILE"/> </appender> <appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="STDOUT"/> </appender> <logger name="play" level="INFO"/> <logger name="application" level="DEBUG"/> <!-- Off these ones as they are annoying, and anyway we manage configuration ourselves --> <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF"/> <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF"/> <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF"/> <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF"/> <root level="WARN"> <appender-ref ref="ASYNCFILE"/> <appender-ref ref="ASYNCSTDOUT"/> </root> </configuration>
import javax.inject.{Inject, Singleton} import play.api.{Application, Logger} import play.api.inject.ApplicationLifecycle import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future @Singleton class AppSettings @Inject()(lifecycle: ApplicationLifecycle, application: Application) { Logger.info("Start application...") // 旧 onStart の内容 lifecycle.addStopHook(() => Future { Logger.info("Shutdown application...") // 旧 onStop の内容 }) }
import com.google.inject.AbstractModule class Module extends AbstractModule { def configure() = { bind(classOf[AppSettings]).asEagerSingleton() } }
ウェブ界隈でエンジニアとして労働活動に励んでいる @gomi_ningen 個人のブログです