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