我使用myConfig.root().render(ConfigRenderOptions.concise().setFormatted(true)))
打印我的配置内容。但我发现它包含许多其他信息,例如"version" : "2.4.16"
,"stdout-loglevel" : "WARNING"
等,这些信息未在我的内容中定义配置文件
信息来自哪里?
我怎样才能打印配置文件内容?
答案 0 :(得分:1)
我使用parseResourcesAnySyntax
方式通过myConfig
方法使用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)))
}
print config:DataServiceConfig.printConf(DataServiceConfig.myConfig)
答案 1 :(得分:0)
您可能正在使用Akka 2.4.16(直接或间接),在这种情况下,"额外"配置设置是从reference.conf
中提取的,如documentation中所述。 reference.conf
包含所有默认配置设置,application.conf
可以覆盖任何这些设置。
ActorSystem
将reference.conf
与application.conf
合并,如here所示。我不认为通过Typesafe配置API可以呈现application.conf
的内容而不包括reference.conf
的合并设置。
答案 2 :(得分:0)
您可以使用java.util.Properties
来获取文件内容,如下所示:
def getPropByFileName(fileName: String) = {
val inputStream = this.getClass.getClassLoader.getResourceAsStream(fileName)
val props = new Properties()
props.load(inputStream)
props
}