最代码
hao720的gravatar头像
hao7202018-05-12 15:20:13
Springboot log4j2配置

网上大部分 Springboot log4j2都好坑,并没有真正的使用log4j2

这里提供一份log4j2集成。

springboot集成log4j2,首先,先配置pom.xml文件,移除logback改用log4j2

pom.xml

<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>

添加log4j的包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

你可以在你的maven包中看一下spring-boot-starter-logging.jar 是否还存在

然后添加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">EurekaServer</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.apache.catalina.util.LifecycleBase" level="ERROR" 
			/> <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="WARN" 
			/> <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="WARN" 
			/> -->
		<Logger name="org.springframework" level="WARN" />
		<Logger name="com.xuweihao" level="DEBUG" />
		<Root level="DEBUG">
			<AppenderRef ref="console"></AppenderRef>
			<AppenderRef ref="error"></AppenderRef>
			<AppenderRef ref="rollingFile"></AppenderRef>
		</Root>
	</Loggers>
</configuration>

Springboot log4j2配置

如果已经配置了,运行的时候还是报 log4j-core 找不到。 

解决方法:找到存放log4j-core.jar的文件夹,删掉。然后使用maven再update一下就行了。

原因我也不清楚。


打赏

已有1人打赏

最代码官方的gravatar头像

分享到:

最近浏览
tr_bus LV31小时前
星星星星星星
梦醒繁华丶 LV184小时前
太阳星星星星
Johnyang LV34小时前
星星星星星星
jinzhang LV9昨天
月亮月亮星星
最爱曼宝 LV13昨天
月亮月亮月亮星星
shloma LV2昨天
星星星星
筱进GG LV25昨天
太阳月亮月亮星星
公子千 LV4前天
月亮
lwf626888 LV16前天
太阳
qq20100422 LV2前天
星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友