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):可以加上开发模式、测试模式、生产模式的配置,利于多环境打包。

 

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

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

 

例子:

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

 

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

 

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

Xml代码  收藏代码
  1. spring.profiles.active=zprod  

 

 

 

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

©Copyright 蕃薯耀 2018年3月27日

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

posted @ 2018-03-27 10:10  蕃薯耀  阅读(910)  评论(1编辑  收藏  举报