spring boot 中logback多环境配置
2017-05-18 06:54
309 查看
spring boot 配置logback
spring boot自带了log打印功能,使用的是Commons logging 具体可以参考spring boot log因此,我们只需要在resources中添加一个logback-spring.xml的logback的配置文件就可以实现正常的日志打印了。然而我们的目标是要实现多环境log配置,即本地输出到控制台,生产,测试输出到文件。
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <logger name="org.springframework.web" level="INFO" /> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <springProfile name="prod"> <!-- 注意这里一定要放到springProfile里, 否则在你本机执行的时候还是会去找相应的文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <FileNamePattern>/services/logs/spring-boot-example.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日志文件保留天数--> <maxHistory>15</maxHistory> <totalSizeCap>30GB</totalSizeCap> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>0</discardingThreshold> <queueSize>500</queueSize> <appender-ref ref="FILE" /> </appender> </springProfile> <springProfile name="dev"> <root level="INFO"> <appender-ref ref="consoleAppender" /> </root> </springProfile> <springProfile name="junit"> <root level="INFO"> <appender-ref ref="consoleAppender" /> <appender-ref ref="asyncFileAppender" /> </root> </springProfile> <springProfile name="test"> <root leve 4000 l="INFO"> <appender-ref ref="asyncFileAppender" /> </root> </springProfile> <springProfile name="pro"> <root level="INFO"> <appender-ref ref="asyncFileAppender" /> </root> </springProfile> </configuration>
application.yaml
spring: profiles: active: dev --- server: port: 8001 spring: profiles: dev output: ansi: enabled: detect #配置输出console的ide中的配色,并没有什么用 --- server: port: 8009 spring: profiles: test --- server: port: 8008 spring: profiles: prod
注意在logback-spring.xml的配置中,如果不把
<appender name="FILE></append>放到
<springPofile></springPofile>中,就算你只是输出到console, 还是会去创建FILE中设置的log文件。当然日志还是在控制台输出,并不会写到log文件中。这个问题并不仅仅出现在spring boot 中,是logback本身的问题,就算不用spring也会出现这种问题。
相关文章推荐
- Spring Boot中实现logback多环境日志配置
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active(转)
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active
- spring boot使用logback实现多环境日志配置详解
- springboot使用logback多环境配置
- logback在spring-boot中不同环境不同配置的方法之一
- SpringBoot学习(三)--Spring profile多环境方式实现logback日志配置
- 51. spring boot属性文件之多环境配置【从零开始学Spring Boot】
- spring boot 多环境配置
- springboot下配置junit测试环境
- 【SpringBoot教程三】:配置文件和多环境配置
- 【SpringBoot教程五】:SpringBoot+LogBack日志配置
- SpringBoot环境下配置AOP切面实现权限拦截
- 第十四章 springboot + profile(不同环境读取不同配置)
- (转)Spring boot——logback.xml 配置详解(二)
- Spring Boot日志配置logback,log4j
- spring-boot-starter-logging logback常用配置之<appender>标签详解
- Spring Boot 基础知识学习(二)——配置文件多环境配置
- 005,spring boot 配置文件-多环境配置
- spring-boot-started-logging logback常用配置之<filter>标签详解