hao720的gravatar头像
hao720 2018-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头像
最近浏览
zhonli 2021年12月2日
暂无贡献等级
随便取个名字_哈哈  LV27 2021年9月4日
2131473496  LV4 2021年5月11日
wyeupe 2021年4月18日
暂无贡献等级
一天一勺QQ糖 2020年4月24日
暂无贡献等级
lzdlzd  LV2 2020年4月24日
paul武 2020年4月18日
暂无贡献等级
wvqusrtg  LV4 2020年1月7日
63145426qq  LV1 2019年12月17日
pvcall  LV2 2019年12月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友