2017-08-30 13 views
0

私はmyConfig.root().render(ConfigRenderOptions.concise().setFormatted(true)))を使用しています。設定ファイルには"version" : "2.4.16""stdout-loglevel" : "WARNING"などの多くの情報が含まれています。
情報はどこから来たのですか?
設定ファイルの内容を印刷するだけですか?typesafeコンフィグレーションライブラリの使用方法はファイルコンテンツをレンダリングするだけですか?

答えて

0

あなたはおそらくAkka 2.4.16(直接的または間接的)を使用しています。この場合、documentationに記載されているように、「余分な」構成設定がreference.confから引き出されます。 reference.confにはすべての既定の構成設定が含まれており、application.confはこれらの設定を上書きできます。

は、application.confと一致します(here参照)。私はreference.confのマージされた設定を含まずに、の内容をレンダリングするためのTypesafe Config APIを経由する方法はないと思います。

+0

感謝。私は 'reference.conf'が他の依存関係からマージされることを認識しました。私はライブラリがマージの前に処理するメソッドを公開する必要があると思うと設定の内容をマージした後、それは非常に複雑なようです。 – LoranceChen

0

私はdefaultで別々のmyConfigによってparseResourcesAnySyntax方法で設定をレンダリングするための方法を使用します。

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))) 


} 

印刷設定:DataServiceConfig.printConf(DataServiceConfig.myConfig)

関連する問題