一般情况:日志文件按yyyy-MM-dd分文件夹,%i按单个日志文件大小切割文件并用索引命名。
- 开发环境(dev):只输出到控制台,不输出到文件,日志级别为INFO。
- 测试环境(test):输出到控制台并且输出到文件,日志级别为INFO,可以配置重启的时候清除日志内容(方便调试)。
- 生产环境(prod):不输出到控制台,只输出到文件,日志级别为ERROE(只记录错误日志),禁止重启时清除日志(防止其它人的错误日志被清掉,导致别人无法定位问题)。
pom.xml增加环境配置
<!-- 环境配置 --><profiles><profile><id>dev</id><properties><spring.profiles.active>dev</spring.profiles.active></properties><activation><!-- 设为默认开启 --><activeByDefault>true</activeByDefault></activation></profile><profile><id>test</id><properties><spring.profiles.active>test</spring.profiles.active></properties></profile><profile><id>prod</id><properties><spring.profiles.active>prod</spring.profiles.active></properties></profile></profiles>
application.yml
spring:application:name: '@artifactId@'profiles:#环境(idea右边栏的maven可以选配置文件的环境)active: '@spring.profiles.active@'
application-dev.yml
开发环境配置文件
#按需配置
application-test.yml
测试环境配置文件
logging:level:#spring根日志级别root: error#spring web日志级别web: error#项目日志级别com.fu.easycode: info#SQL日志打印com.fu.easycode.mapper: debugfile:#日志存放路径path: ./log/${spring.application.name}/${spring.profiles.active}#日志名称name: '${logging.file.path}.log'charset:#控制台编码console: UTF-8#输出到文件编码file: UTF-8pattern:#控制台日志输出样式console: '%clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'#输出到文件的样式file: '%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'logback:rollingpolicy:#重启是否清除日志(推荐测试环境使用)clean-history-on-start: true#切割日志格式file-name-pattern: ${logging.file.path}.%d{yyyy-MM-dd}.%i.log#单个日志文件最大大小max-file-size: 10MB#全部日志文件最大大小total-size-cap: 50GB#日志存放天数max-history: 15
application-prod.yml
生产环境配置文件
logging:level:#spring根日志级别root: error#spring web日志级别web: error#项目日志级别com.fu.easycode: error#SQL日志打印com.fu.easycode.mapper: debugfile:#日志存放路径path: ./log/${spring.application.name}/${spring.profiles.active}#日志名称name: '${logging.file.path}.log'charset:#输出到文件编码file: UTF-8pattern:#输出到文件的样式file: '%d{${LOG_DATEFORMAT_PATTERN:HH:mm:ss}} ${LOG_LEVEL_PATTERN:-%5p} ${PID: } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'logback:rollingpolicy:#重启是否清除日志,默认:否clean-history-on-start: false#切割日志格式file-name-pattern: ${logging.file.path}.%d{yyyy-MM-dd}.%i.log#单个日志文件最大大小max-file-size: 10MB#全部日志文件最大大小total-size-cap: 50GB#日志存放天数max-history: 15