<dependency>
<groupId>com.github.julien-truffaut</groupId>
<artifactId>ciris-core_2.13</artifactId>
<version>2.2.0</version>
</dependency>
import ciris._
import ciris.enumeratum._
import enumeratum._
sealed trait LogLevel extends EnumEntry
object LogLevel extends Enum[LogLevel] with CirisEnum[LogLevel] {
case object Info extends LogLevel
case object Debug extends LogLevel
case object Error extends LogLevel
val values = findValues
}
case class AppConfig(port: Int, logLevel: LogLevel)
import ciris.Ciris
import ciris.api._
val config = loadConfig {
env("APP_LOG_LEVEL").as[LogLevel].default(LogLevel.Info)
} { AppConfig }
import ciris.api._
val cancellable = config.underlying.watch { newConfig =>
println(s"Updated config: $newConfig")
}
cancellable.cancel()