SpringCloud2.x集成Log4j2配置

1、POM文件增加Log4j2

<!-- 集成Log4j2日志 -->
		 <dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter</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>
		</dependency>

2、bootstrap.yml配置Log4j2

logging:
  config: classpath:log4j2.xml

3、配置log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--启动项设置为 trace,加载 springboot 启动内部各种详细输出-->
<Configuration status="OFF">
    <Appenders>
        <!--添加一个控制台追加器-->
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <PatternLayout>
                <pattern>[%-5p] %d %c - %m%n</pattern>
            </PatternLayout>
        </Console>
        <!--添加一个文件追加器-->
        <File name="File" fileName="app.log"  append="false">
        	<PatternLayout>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n</pattern>
            </PatternLayout>
        </File>
    </Appenders>
    <Loggers>
        <!--根记录,调试模式,线上模式更改为INFO-->
        <Root level="INFO">
            <AppenderRef ref="Console" />
            <!-- AppenderRef 可以控制文件输出对象-->
            <AppenderRef ref="File" />
        </Root>
        <Logger name="org.springframework" level="INFO" />
        <Logger name="zaxxer.hikari" level="INFO" />
        <Logger name="org.thymeleaf" level="INFO" />
        <!--调试模式,线上模式更改为INFO-->
        <Logger name="com.ibatis" level="INFO"/>
        <Logger name="java.sql" level="INFO" />
    </Loggers>
</Configuration>

4、代码中使用Log4j2

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

private Logger logger =  LogManager.getLogger(this.getClass());

logger.info("日志");

安装以上配置使用logger,避免包冲突及无法输出信息的问题。

经验分享 程序员 微信小程序 职场和发展