一、环境
- 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