Abh*_*kar 6 spring spring-mvc environment-variables logback spring-boot
在春季启动文档具有下面的示例记录文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
你能帮我理解一下${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}吗?有什么-用?
与 Bash 一样,Logback 使用:-作为其默认值运算符。有问题的行正在设置LOG_FILE属性:
LOG_FILE已经设置,使用那个LOG_PATH设置,使用后缀spring.logLOG_TEMP设置,使用后缀/spring.logjava.io.tmpdir设置,使用后缀/spring.log/tmp/spring.log它与 Spring 无关。
Logback XML 配置本身具有这种占位符处理以用变量替换占位符。logback 中占位符的语法是${VARNAME},如果你想要默认值如果VARNAME不存在,你可以通过${VARNAME:-DEFAULT}(ref: Logback Configuration) 来完成。是的, a :-,后面跟着默认值。
那么你引用的内容就很容易理解了:
${LOG_FILE:- }
${LOG_PATH:- }spring.log
${LOG_TEMP:- }/
${java.io.tmpdir:- }
/tmp
Run Code Online (Sandbox Code Playgroud)
(你真的需要解释上面的意思吗?)
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |