Spring Boot Sample 008之spring-boot-logback

一、环境

  • Idea 2020.1
  • JDK 1.8
  • maven

二、目的

spring boot 整合log4j2

三、步骤

3.1、点击File -> New Project -> Spring Initializer,点击next

 3.2、在对应地方修改自己的项目信息

3.3、选择Web依赖,选中Spring Web。可以选择Spring Boot版本,本次默认为2.2.6,点击Next

 3.4、编辑工程名和项目路径,确定后点击Finish完成

 3.5、项目结构

四、添加配置文件

添加配置文件logback-spring.xml 通过springProfile属性识别不同环境配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!-- 文件输出格式 -->
    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    <!-- test文件路径 -->
    <property name="TEST_FILE_PATH" value="D:/logs" />
    <!-- pro文件路径 -->
    <property name="PRO_FILE_PATH" value="/opt/logs" />

    <!-- dat.uat环境 -->
    <springProfile name="dat,uat">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <logger name="org.ouyushan" level="debug"/>

        <root level="info">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>

    <!-- vir环境 -->
    <springProfile name="vir">
        <!-- 每天产生一个文件 -->
        <appender name="VIR-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${TEST_FILE_PATH}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>100</MaxHistory>
            </rollingPolicy>

            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>${PATTERN}</pattern>
            </layout>
        </appender>

        <root level="info">
            <appender-ref ref="VIR-FILE" />
        </root>
    </springProfile>

    <!-- 生产环境 -->
    <springProfile name="pro">
        <appender name="PRO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${PRO_FILE_PATH}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
                <MaxHistory>100</MaxHistory>
            </rollingPolicy>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>${PATTERN}</pattern>
            </layout>
        </appender>

        <root level="warn">
            <appender-ref ref="PRO_FILE" />
        </root>
    </springProfile>
</configuration>

  

配置默认application.yml

spring:
  profiles:
    active: dat
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing

logging:
  config: classpath:logback-spring.xml

配置默认application-dat.yml
server:
  port: 8080

配置默认application-uat.yml
server:
  port: 8081

配置默认application-vir.yml
server:
  port: 8082

 

配置默认application-pro.yml
server:
  port: 9090

 

五、知识点

通过springProfile实现多环境日志打印
posted @ 2020-06-01 14:56  欧虞山  阅读(112)  评论(0编辑  收藏  举报