zoukankan      html  css  js  c++  java
  • spring boot 中logback多环境配置

    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 level="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也会出现这种问题

    转载:http://blog.csdn.net/m0_37895333/article/details/72457007

  • 相关阅读:
    Pills
    项链
    IIS7.5 关于ASP连接ACCESS数据库超时问题
    清明
    The New Beginning
    新的开始
    Mysql中文乱码以及导出为sql语句和Excel问题解决
    Spring学习笔记01. 入门知识,IoC/DI
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT
    Django框架 python3.7+django2.2 报错:AttributeError: ‘str’ object has no attribute ‘decode’解决办法
  • 原文地址:https://www.cnblogs.com/liaojie970/p/7852378.html
Copyright © 2011-2022 走看看