我想在我的 application.conf 文件中执行类似的操作。
# Debug SQL statements (logged using DEBUG level):
jpa.debugSQL=${DEBUG_SQL}
我知道问题在于它将环境变量解释为字符串而不是 boolean 值(来自这里: Boolean.getBoolean() Vs System.getenv() in Java ),但作为 Java 新手,我不确定在这里进行什么调用是合适的这个工作。
(我也尝试在环境中设置DEBUG_SQL=0|1,但这不起作用。)
谢谢。
最佳答案
假设您的配置文件将这些设置加载为您可以执行的属性:
boolean debugSQL = Boolean.parseBoolean(System.getProperty("jpa.debugSQL"));
请注意,parseBoolean 仅对于值“true”(不区分大小写)为 true。如果您想支持更多功能,请查看 BooleanUtils ( http://commons.apache.org/lang/api-3.1/org/apache/commons/lang3/BooleanUtils.html#toBoolean(java.lang.String) )
看起来您正在使用 Play(基于配置文件名),因此您可以使用 Play.configuration.getProperty("jpa.debugSQL");
而不是 System.getProperty
关于Java在application.conf中获取 boolean 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14692138/