1

我想在我的 application.conf 文件中做这样的事情。

# Debug SQL statements (logged using DEBUG level): 
jpa.debugSQL=${DEBUG_SQL}

我知道问题在于它将环境变量解释为字符串而不是布尔值(从这里开始: Boolean.getBoolean() Vs System.getenv() in Java),但作为一个 Java 新手,我不确定是什么调用它适合在这里进行以使其正常工作。

(我也尝试在环境中设置 DEBUG_SQL=0|1 ,但没有奏效。)

谢谢。

4

1 回答 1

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

于 2013-02-04T17:55:21.940 回答