SpringBoot Logback配置,SpringBoot日志配置

SpringBoot Logback配置,SpringBoot日志配置

 SpringBoot springProfile属性配置

================================

©Copyright 蕃薯耀 2018年3月27日

http://www.cnblogs.com/fanshuyao/

附件下载(源码下载)见:http://fanshuyao.iteye.com/blog/2414522

将logback-spring.xml或者logback.xml放在src/main/resources下,springBoot日志框架会自动识别日志配置。

建议使用logback-spring.xml命名,因为可以使用springBoot的高级属性(springProfile):可以加上开发模式、测试模式、生产模式的配置,利于多环境打包。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false">
  3. <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  4. <property name="LOG_HOME" value="/home" />
  5. <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />
  6. <!-- 控制台输出 -->
  7. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  8. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  9. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  10. <pattern>${pattern}</pattern>
  11. </encoder>
  12. </appender>
  13. <!-- 控制台输出 -->
  14. <!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  15. <layout class="ch.qos.logback.classic.PatternLayout">
  16. <springProfile name="dev">
  17. <Pattern>%date [%thread] %-5level %logger{80} - %msg%n</Pattern>
  18. </springProfile>
  19. </layout>
  20. </appender> -->
  21. <!-- 按照每天生成日志文件 -->
  22. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  23. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  24. <!--日志文件输出的文件名-->
  25. <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
  26. <!--日志文件保留天数-->
  27. <MaxHistory>30</MaxHistory>
  28. </rollingPolicy>
  29. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  30. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  31. <pattern>${pattern}</pattern>
  32. </encoder>
  33. <!--日志文件最大的大小-->
  34. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  35. <MaxFileSize>10MB</MaxFileSize>
  36. </triggeringPolicy>
  37. </appender>
  38. <!-- 日志输出级别 -->
  39. <root level="INFO">
  40. <appender-ref ref="STDOUT" />
  41. </root>
  42. </configuration>

springProfile官方说明:

The <springProfile> tag lets you optionally include or exclude sections of configuration based on the active Spring profiles. Profile sections are supported anywhere within the <configuration> element. Use the name attribute to specify which profile accepts the configuration. Multiple profiles can be specified with a comma-separated list. The following listing shows three sample profiles:

  1. <springProfile name="staging">
  2. <!-- configuration to be enabled when the "staging" profile is active -->
  3. </springProfile>
  4. <springProfile name="dev, staging">
  5. <!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
  6. </springProfile>
  7. <springProfile name="!production">
  8. <!-- configuration to be enabled when the "production" profile is not active -->
  9. </springProfile>

例子:

使用springProfile配置,logback日志配置文件必须命名为:logback-spring.xml

  1. <springProfile name="dev">
  2. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  3. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  4. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  5. <pattern>---dev - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  6. </encoder>
  7. </appender>
  8. </springProfile>
  9. <springProfile name="test">
  10. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  12. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  13. <pattern>===test  %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  14. </encoder>
  15. </appender>
  16. </springProfile>
  17. <springProfile name="zprod">
  18. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  19. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  20. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  21. <pattern>+++zprod  %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  22. </encoder>
  23. </appender>
  24. </springProfile>

然后在application.properties配置spring.profiles.active属性:

  1. spring.profiles.active=zprod

================================

©Copyright 蕃薯耀 2018年3月27日

http://www.cnblogs.com/fanshuyao/

上一篇:功能:SpringBoot日志配置详情


下一篇:Spring Boot-日志配置(超详细)