export logback.configurationFile=123
得到了这个:
“-bash:export:`logback.configurationFile = 123':不是有效的标识符”
尝试过有效的export logback_configurationFile=123
。但是logback似乎没有认识到env变量。有什么建议吗?
答案 0 :(得分:28)
-Dlogback.configurationFile
与将其设置为环境变量不同。
-D标志是程序的Java参数(可由System.getProperty()
访问),export
定义的环境变量可由System.getenv()
访问。
查看Logback代码,看起来它使用System.getProperty()
来读取logback.configurationFile
值。
所以实际上你必须在启动时将参数传递给JVM,这意味着你可以将环境变量设置为你喜欢的任何东西,然后在启动JVM时使用它。
export LOGBACK_CONFIG_FILE_LOCATION=/tmp/logback.conf
java -Dlogback.configurationFile=${LOGBACK_CONFIG_FILE_LOCATION}
答案 1 :(得分:2)
我想这也应该有效。但我并没有真正尝试过它。
export JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=123"
然后,您无需在应用程序调用时设置选项。但缺点是所有正在运行的Java程序都会使用此设置。
答案 2 :(得分:1)
您还可以执行以下操作 使用logback configurationFile导出JVM参数。
export ALC_JVM_ARGS="-Dlogback.configurationFile=logconfig.xml"
导出你需要的其他东西,比如主类和它的参数
export MAIN_CLASS="Spring"
export MAIN_CLASS_ARGS="beans.xml"
然后执行你的程序
exec java $ALC_JVM_ARGS $MAIN_CLASS $MAIN_CLASS_ARGS