SpringBoot使用log4j2记录日志以及log4j2标签讲解

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

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

    <!--使用log4j2-->
    	<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>
    
  2. 在classpath下创建log4j2-spring.xml 或者 log4j2.xml文件,log4j2框架会自动加载到

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

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <appenders>
            <!-- 控制台输出 -->
            <console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%F:%M:%L] : %m%n"/>
            </console>
    
            <!-- fileName:输出路径  filePattern:命名规则(回滚的新文件命名规则) -->
            <RollingFile name="err" fileName="G://logs/err.log"
                         filePattern="logs/err-%d{yyyy-MM-dd}-%i.log">
                <Filters>
                    <!-- 大于等于该级别,匹配接收,不匹配拒绝 -->
                    <ThresholdFilter level="error" 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="error"></logger>
    
            <!-- 如果没有指定logger的级别,只能打印root级别以上的日志 -->
            <root level="info">
                <appender-ref ref="Console"/>
                <appender-ref ref="err"/>
            </root>
        </loggers>
    
    </configuration>
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值