我是靠谱客的博主 贪玩花瓣,最近开发中收集的这篇文章主要介绍springboot:dom4j2日志配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、去除springboot依赖的老版本dom4j,添加新版本

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions> <!--去除之前对老版本log4j的依赖-->
           <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>

2、application-dev.yml添加配置文件路径

logging:
  config: classpath:log4j2.xml

 3、log4j2.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="WARN" monitorInterval="30" strict="true">
	<Properties>
		<Property name = "FILE_PATH">E:/logs/ideas-scheduler</Property>
		<Property name = "FILE_NAME">ideas-scheduler</Property>
	</Properties>
    <!--先定义所有的appender-->
    <appenders>
    <!--这个输出控制台的配置-->
        <console name="Console" target="SYSTEM_OUT">
        <!--输出日志的格式-->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss:SSS}:[%4p] %t (%C:%L) - %m%n"/>
        </console>
        
	    <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->
<!-- 	    <File name="log" fileName="${FILE_PATH}/${FILE_NAME}.log" append="false"> -->
<!-- 	       <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss:SSS}:[%4p] %t (%C:%L) - %m%n"/> -->
<!-- 	    </File> -->
    
    	<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
        <RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/${FILE_NAME}.log" filePattern="${FILE_PATH}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log">
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->        
			<!-- <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> -->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss:SSS}:[%4p] %t (%C:%L) - %m%n"/>
            <Policies>
            	<OnStartupTriggeringPolicy/>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
     	       <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了100 -->
 	            <DefaultRolloverStrategy size="100"/>
            </Policies>
        </RollingFile>
        
    </appenders>
    
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <loggers>
        <root level="info">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFileInfo"/>
        </root>
        <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
        <logger name="org.springframework" level="INFO"></logger>
        <logger name="org.mybatis" level="INFO"></logger>
        <!--指定mapper接口路径,打印sql到控制台-->
        <logger name="com.wsh.serveruser.dao" level="DEBUG"/>
    </loggers>
</configuration>

最后

以上就是贪玩花瓣为你收集整理的springboot:dom4j2日志配置的全部内容,希望文章能够帮你解决springboot:dom4j2日志配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部