Springboot Logback日志使用,Springboot Logback详细配置和日志分割
Springboot Logback springProperty使用,Springboot Logback区分环境
================================
©Copyright 蕃薯耀 2020-12-23
https://www.cnblogs.com/fanshuyao/
一、引入Logback日志的maven依赖:logback-classic
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
二、Springboot Logback 区分环境配置:
1、application.properties:
spring.profiles.active=dev
server.port=6000
server.servlet.context-path=/logback
2、application-dev.properties:
logging.config=classpath:logback-spring-dev.xml
3、application-test.properties:
logging.config=classpath:logback-spring-test.xml
4、application-prod.properties:
logging.config=classpath:logback-spring-prod.xml
通过logging.config设置Springboot使用的日志配置文件,这样每个环境都可以使用不能的配置。
如果不区分环境,可以直接命名为:logback-spring.xml,这样Springboot会自动加载。
三、Springboot Logback.xml 配置文件详细设置:
1、logback-spring-dev.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--默认每隔一分钟扫描此配置文件的修改并重新加载-->
<!-- <configuration scan="true" scanPeriod="60 seconds"> -->
<configuration>
<contextListener class="com.lqy.log.listener.LogbackStartupListener"/>
<!--定义日志文件的存储地址 勿在LogBack的配置中使用相对路径-->
<property name="projectName" value="logback"/>
<property name="LOG_HOME" value="E:/logs"/>
<property name="logDays" value="30"/>
<property name="history" value="history"/>
<property name="log_style" value="[%level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %thread %class.%method:%line%n%msg%n%n"/>
<!-- 读取spring配置文件的变量 -->
<springProperty name="springProfilesActive" source="spring.profiles.active"/>
<!--控制台输出-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[${springProfilesActive}]${log_style}</pattern>
</encoder>
</appender>
<!--输出日志到文件中-->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/${projectName}/${weblogicName}/info.log</file>
<!--不输出ERROR级别的日志-->
<!--
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
-->
<!--根据日期滚动输出日志策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/${projectName}/${weblogicName}/${history}/%d{yyyy-MM-dd}-info.log</fileNamePattern>
<!--日志保留天数-->
<maxHistory>${logDays}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[${springProfilesActive}]${log_style}</pattern>
</encoder>
</appender>
<!--警告日志输出文件-->
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/${projectName}/${weblogicName}/warn.log</file>
<!--只输出ERROR级别的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--根据日期滚动输出日志策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/${projectName}/${weblogicName}/${history}/%d{yyyy-MM-dd}-warn.log</fileNamePattern>
<!--日志保留天数-->
<maxHistory>${logDays}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[${springProfilesActive}]${log_style}</pattern>