SpringBoot -- 使用log4j2 实例

前提:

        创建springboot项目:SpringBoot -- idea创建简单的helloWorld项目_DGH2430284817的博客-CSDN博客

使用log4j2:

        添加依赖

<dependencies>
    <!-- 引入web模块 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

        配置文.yml 添加日志参数

# log4j 配置
logging:
  config: classpath:log4j2.xml
  level:
    org.springfromework.web: info

SpringBoot -- 使用log4j2 实例

         添加日志配置文件log4j2.xml

主要看LOG_HOME 日志存放路径,PATTERN_LAYOUT 日志格式,ROLLFILE 日志文件信息

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
	<properties>
		<property name="LOG_HOME">./logs/flinklog</property>
		<property name="PATTERN_LAYOUT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16.16X{traceId}] %X{tid} %-5p [%t] [%l] %c{1.} - %m%n</property>
	</properties>
	<Appenders>
		<Console name="CONSOLE" target="SYSTEM_OUT">
			<PatternLayout pattern="${PATTERN_LAYOUT}" />
		</Console>
		<RollingFile name="ROLLFILE" fileName="${LOG_HOME}/flink-test.log" filePattern="${LOG_HOME}/flink-test.%d{yyyy-MM-dd}.gz">
			<PatternLayout>
				<Pattern>${PATTERN_LAYOUT}</Pattern>
			</PatternLayout>
			<Policies>
				<TimeBasedTriggeringPolicy modulate="true" interval="1" />
			</Policies>
			<DefaultRolloverStrategy>
				<Delete basePath="${LOG_HOME}/" maxDepth="1">
					<IfFileName glob="asset-wallet*.gz" />
					<IfLastModified age="7d" />
				</Delete>
			</DefaultRolloverStrategy>
		</RollingFile>
		<RollingFile name="ERROR" fileName="${LOG_HOME}/flink-test-error.log" filePattern="${LOG_HOME}/flink-test-error.%d{yyyy-MM-dd}.gz">
			<PatternLayout>
				<Pattern>${PATTERN_LAYOUT}</Pattern>
			</PatternLayout>
			<Filters>
				<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
			<Policies>
				<TimeBasedTriggeringPolicy modulate="true" interval="1" />
			</Policies>
			<DefaultRolloverStrategy>
				<Delete basePath="${LOG_HOME}/" maxDepth="1">
					<IfFileName glob="asset-wallet-error*.gz" />
					<IfLastModified age="7d" />
				</Delete>
			</DefaultRolloverStrategy>
		</RollingFile>
	</Appenders>
	<Loggers>
		<Root level="INFO">
			<AppenderRef ref="CONSOLE" />
			<AppenderRef ref="ROLLFILE" />
			<AppenderRef ref="ERROR" />
		</Root>
	</Loggers>
</Configuration>

测试:

创建测试类,MyLogTest.java

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyLogTest {
    private static final Logger log = LoggerFactory.getLogger(MyLogTest.class);

    public static void main(String[] args) {
        log.info("test-> info");
        log.debug("test-> debug");
        log.warn("test-> warn");
        log.error("test-> error");
    }
}

效果:

 查看配置的日志目录,查看是否有对应日志文件

SpringBoot -- 使用log4j2 实例

SpringBoot -- 使用log4j2 实例

测试成功

 

 

        

上一篇:SpringBoot2.x整合模板引擎freemarker


下一篇:SpringCloud的基本使用与nacos