SpringBoot 2.2.5 集成 log4j2 参考配置

本贴最后更新于 1493 天前,其中的信息可能已经水流花落

此配置仅供参考,非最优配置,异步日志等新特性均未开启。

参考资料

1.SpringBoot 集成 log4j2 完美配置解决方案
原文链接:https://blog.csdn.net/weixin_43301156/article/details/89326975

2.SpringBoot 集成 log4j2 附完整配置
原文链接:https://blog.csdn.net/weixin_43301156/article/details/89326975

pom.xml

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.5.RELEASE</version>
		<relativePath/> 
	</parent>
	<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>
        </dependency>
  

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!-- status log4j2内部日志级别 -->
<configuration status="INFO">
	<!-- 全局参数 -->
	<Properties>
		<Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L -%m%n</Property>
		<Property name="displayName">your-log-file</Property>
	</Properties>
	<Appenders>
		<Console name="console" target="SYSTEM_OUT" follow="true">
			<PatternLayout>
				<pattern>${pattern}</pattern>
			</PatternLayout>
		</Console>
		<!-- 文件 每次运行程序会自动清空,由append属性决定 -->
		<File name="error" fileName="${displayName}_error.log" append="false">
			<!-- 指定error 级别的日志 -->
			<ThresholdFilter level="ERROR" onMatch="ACCEPT"
							 onMismatch="DENY" />
			<PatternLayout>
				<pattern>${pattern}</pattern>
			</PatternLayout>
		</File>
		<!-- 滚动文件 -->
		<RollingFile name="rollingFile" fileName="${displayName}.log"
					 filePattern="${displayName}_%d{yyyy-MM-dd}.log">
			<PatternLayout>
				<pattern>${pattern}</pattern>
			</PatternLayout>
			<!-- 按大小划分 -->
			<SizeBasedTriggeringPolicy size="50 MB" />
		</RollingFile>
	</Appenders>
	<Loggers>
		<Logger name="org.springframework" level="WARN" />
		<Logger name="com.test" level="DEBUG" />
		<Root level="DEBUG">
			<AppenderRef ref="console"></AppenderRef>
			<AppenderRef ref="error"></AppenderRef>
			<AppenderRef ref="rollingFile"></AppenderRef>
		</Root>
	</Loggers>
</configuration>

application.yml

logging:
  config: classpath:log4j2.xml

运行结果

image.png

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3167 引用 • 8207 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    940 引用 • 1458 回帖 • 159 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 43 关注
2 操作
cloudlang 在 2020-03-16 20:28:26 更新了该帖
cloudlang 在 2020-03-16 20:27:11 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...