zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    数据库水平切分(拆库拆表)的实现原理解析(转)
    json序列化 & 反序列化
    数据库工作原理
    【原创】python多线程测试接口性能
    XML解析(DOM、ElementTree)及转换为JSON
    nginx+supervisor+gunicorn+flask
    3、爬取干货集中营的福利图片
    Python多环境扩展管理
    九、frp对外提供简单的文件访问服务
    八、frps服务端与nginx可共用80端口
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/8655950.html
Copyright © 2011-2022 走看看