使用org.springframework.boot.logging.LoggingSystem
系统属性可以强制Spring Boot使用指定的日志系统,该属性值需要是LoggingSystem
实现类的全限定名,如果值为none
,则彻底禁用Spring Boot的日志配置。
注 由于日志初始化早于ApplicationContext
的创建,所以不可能通过指定的Spring
@Configuration
文件控制日志,系统属性和Spring Boot外部化配置可以正常工作。
注 如果可能的话,建议你使用-spring
变种形式定义日志配置(例如,使用logback-spring.xml
而不是logback.xml
)。如果你使用标准的配置路径,Spring可能不能够完全控制日志初始化。
注 Java Util Logging从可执行jar运行时会导致一些已知的类加载问题,我们建议尽可能不使用它。
Spring Environment | System Property | Comments |
---|---|---|
logging.exception-conversion-word |
LOG_EXCEPTION_CONVERSION_WORD |
记录异常使用的关键字 |
logging.file |
LOG_FILE |
如果指定就会在默认的日志配置中使用 |
logging.path |
LOG_PATH |
如果指定就会在默认的日志配置中使用 |
logging.pattern.console |
日志输出到控制台(stdout)时使用的模式(只支持默认的logback设置) | |
logging.pattern.file |
FILE_LOG_PATTERN |
日志输出到文件时使用的模式(如果LOG_FILE启用,只支持默认的logback设置) |
logging.pattern.level |
LOG_LEVEL_PATTERN |
用来渲染日志级别的格式(默认%5p ,只支持默认的logback设置) |
PID |
PID |
当前的处理进程(process)ID(能够找到,且还没有用作OS环境变量) |
所有支持的日志系统在解析配置文件时都能获取系统属性的值,具体可以参考spring-boot.jar
中的默认配置。
注 如果想在日志属性中使用占位符,你需要使用,而不是底层框架的语法。尤其是使用Logback时,你需要使用:
作为属性名和默认值的分隔符,而不是:-
。