一. 版本变化:
SpringBoot1.x版本使用logging.path配置日志路径,logging.file配置日志文件
SpringBoot2.0之后使用logging.file.path配置日志路径,logging.file.name配置日志文件名称
二. logging.file.name 和 logging.file.path 区别:
logging.file.name 设置具体输出的日志名称,可以带路径(绝对路径/基于当前运行目录的相对路径)
logging.file.path 日志会以默认文件名spring.log写到指定目录
若同时配置,以logging.file.name配置为准
三. 结合logback注意事项
引入logback是为了对日志进行精细化管理,使用外置化的xml(一般为logback-spring.xml),设置特定类、模块的日志记录级别,记录方式等
SpringBoot中配置如下
logging:
config: classpath:logback-spring.xml- 由于LogBack比SpringBoot先初始化,若启动时出现LOG_PATH_IS_UNDEFINED文件夹,则需将LOG_PATH的value中改成${LOG_PATH:-.},如下图
logging:
path: /var/logs/xxx
classpath:logback-spring.xml
四. 最佳实践
若不需要对log进行精细化管理,推荐使用logging.file.name,便于SpringBoot自带actuator中的logfile接口能够直接扫描获取日志信息,
便于SpringBootAdmin等监控工具集成。若在使用logback同时希望使用SpringBoot的日志监控,则需添加额外配置指定日志路径
management:
endpoint:
logfile:
external-file: <logpath>/xxx.log