我正在尝试在运行grails应用程序时指定java.util.logging.config.file,但它似乎不起作用。 这是我正在尝试的:
export GRAILS_OPTS="-Djava.util.logging.config.file=logging.properties"
export JAVA_OPTS="-Djava.util.logging.config.file=logging.properties"
grails -Djava.util.logging.config.file=logging.properties run-job myJob
一开始我看到了详细的消息,但是一旦grails分支作业处理器,命令行和env选项都会丢失。
答案 0 :(得分:1)
Grails在幕后使用Gradle。 Gradle默认调用单独的VM来运行或测试应用程序,并且此VM没有设置这些属性。您可以做的是,您可以修改build.gradle
文件以将系统属性从Gradle VM传递到分叉VM。这样的事情对我们有用:
bootRun {
systemProperty 'server.port', System.getProperty('server.port')
}
也可以使用System.getProperties()
传递所有属性。如果你使用谷歌,有很多例子。检查以下内容:https://discuss.gradle.org/t/how-should-i-be-handling-passing-system-properties-from-gradle-to-my-tests/7171
此外,您正在使用logging.properties
文件的相对路径,在某些情况下,当前路径可能不同,使用绝对路径可能更适合验证。