2017-08-30 6 views
0

Je suis utiliser myConfig.root().render(ConfigRenderOptions.concise().setFormatted(true))) imprimer mon contenu de configuration.Mais je trouve qu'il contient de nombreuses autres informations, telles que "version" : "2.4.16", "stdout-loglevel" : "WARNING", etc, ce qui n'est pas défini dans mon fichier de configuration.
D'où proviennent les informations?
Comment puis-je imprimer le contenu de mon fichier de configuration?comment utiliser la bibliothèque de configuration typesafe suffit de rendre le contenu du fichier?

Répondre

0

Vous utilisez probablement Akka 2.4.16 (directement ou indirectement), auquel cas les paramètres de configuration "supplémentaires" sont extraits du reference.conf, comme décrit dans le documentation. Le reference.conf contient tous les paramètres de configuration par défaut et votre application.conf peut remplacer n'importe lequel de ces paramètres.

Le ActorSystem se confond avec le reference.conf votre application.conf, comme on le voit here. Je ne pense pas qu'il existe un chemin à travers l'API Typesafe Config pour rendre le contenu de votre application.conf sans inclure les paramètres fusionnés de reference.conf.

+0

merci. J'ai réalisé que 'reference.conf' serait fusionné avec d'autres dépendances. Je pense que la bibliothèque devrait exposer la méthode à manipuler avant la fusion et après le contenu de la configuration de la fusion mais cela semble très complexe. – LoranceChen

0

-je utiliser un moyen de rendre config avec parseResourcesAnySyntax méthode myConfig séparée avec default:

object DataServiceConfig { 
    val local = ConfigFactory.parseResourcesAnySyntax("local") 
    val online = ConfigFactory.parseResourcesAnySyntax("online") 
    val develop = ConfigFactory.parseResourcesAnySyntax("application") //develop environment 
    val default = ConfigFactory.load("application") //default environment 

    val myConfig = local.withFallback(online).withFallback(develop) 
    val combinedConfig = myConfig.withFallback(default) 

    def printConf(config: Config): Unit = println(config.root().render(ConfigRenderOptions.concise().setFormatted(true).setJson(true))) 


} 

config d'impression: DataServiceConfig.printConf(DataServiceConfig.myConfig)