springboot 中 log4j2的使用及配置讲解

特别提醒:Spring Boot 只有1.3.x和1.3.x以下版本才支持log4j的日志配置,1.3.x以上版本只支持log4j2,logback的日志配置

SpringBoot默认使用LogBack作为日志框架
由于之前一直使用Log4j日志框架
所以就想着试一下在SpringBoot环境下切换使用log4j2记录日志

首先排除SpringBoot自带的log框架依赖,再引入Log4j框架的依赖

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		<!--先排除自带的log支持-->
		<exclusions>
			<exclusion>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-logging</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<!--再单独引入log4j2-->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-log4j2</artifactId>
	</dependency>
	
</dependencies>

在classpath下创建log4j2-spring.xml 或者 log4j2.xml文件,log4j2框架会自动加载到

下面是一个log4j2.xml文件内容,都有具体的标签讲解

<?xml version="1.0" encoding="UTF-8"?>
    <!-- fileName:输出路径  filePattern:命名规则(回滚的新文件命名规则) -->
    <RollingFile name="err" fileName="c:/mylog/my/info/iot-info-2019-10-18.log"
                 filePattern="logs/err-%d{yyyy-MM-dd}-%i.log">
        <Filters>
            <!-- 大于等于该级别,匹配接收,不匹配拒绝 -->
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
        </Filters>
        <!-- 输出格式 -->
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%F:%M:%L] : %m%n"/>
        <Policies>
            <!-- TimeBasedTriggeringPolicy 1的单位是前面命名规则里面的最小粒度,这里是天 -->
            <TimeBasedTriggeringPolicy interval="1"/>
            <!-- SizeBasedTriggeringPolicy单个文件的大小限制 -->
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
        <!-- DefaultRolloverStrategy同一个文件下的最大文件数,与前面定义的命名规则中的%i计数器一起使用 -->
        <DefaultRolloverStrategy max="50"/>
    </RollingFile>
</appenders>

<loggers>
    <!--过滤掉spring无用的debug信息-->
    <logger name="org.springframework" level="info"></logger>

    <!-- 如果没有指定logger的级别,只能打印root级别以上的日志 -->
    <root level="info">
        <appender-ref ref="Console"/>
        <appender-ref ref="err"/>
    </root>
</loggers>

转载自https://blog.csdn.net/shijiujiu33/article/details/90108575

根据自己的实际情况进行了一点改动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值