springboot(2.3.4)替换默认的logback为log4j2
1. application.properties 配置logging.config=classpath:log4j2.xml,如果不配置默认读取的是resources下的log4j2.xml
2.配置依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>
3.配置log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 第一全局参数信息 --> <Properties> <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{1}:%L - %msg%n"/> <!-- debug 日志文件位置及名称,在rollFile的时候老文件的生成规则 --> <property name="DEBUG_FILE_PATH_ING" value="../logs/app_debug.log"/> <property name="DEBUG_FILE_PATH_ED" value="../logs/app_debug-%d{yyyy-MM-dd}.%i.log"/> <!-- info 日志文件位置及名称,在rollFile的时候老文件的生成规则 --> <property name="INFO_FILE_PATH_ING" value="../logs/app_info.log"/> <property name="INFO_FILE_PATH_ED" value="../logs/app_info-%d{yyyy-MM-dd}.%i.log"/> <!-- error 日志文件位置及名称,在rollFile的时候老文件的生成规则 --> <property name="ERROR_FILE_PATH_ING" value="../logs/app_error.log"/> <property name="ERROR_FILE_PATH_ED" value="../logs/app_error-%d{yyyy-MM-dd}.%i.log"/> <!-- warn 日志文件位置及名称,在rollFile的时候老文件的生成规则 --> <property name="WARN_FILE_PATH_ING" value="../logs/warn_error.log"/> <property name="WARN_FILE_PATH_ED" value="../logs/warn_error-%d{yyyy-MM-dd}.%i.log"/> <!-- 日志文件最大文件大小全局配置,一天之内最大文件产生数量全局配置 --> <property name="MAX_FILE_SIZE" value="100MB"/> <property name="MAX_FILE_NUM" value="30"/> </Properties> <appenders> <!-- 控制台输出日志信息 --> <console name="Console_Log" target="SYSTEM_OUT"> <PatternLayout pattern="${LOG_PATTERN}"/> </console> <!-- debug日志文件输出日志信息 --> <RollingFile name="Debug_File" fileName="${DEBUG_FILE_PATH_ING}" filePattern="${DEBUG_FILE_PATH_ED}"> <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/> <TimeBasedTriggeringPolicy/> </Policies> <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/> </RollingFile> <!-- info日志文件输出日志信息 --> <RollingFile name="Info_File" fileName="${INFO_FILE_PATH_ING}" filePattern="${INFO_FILE_PATH_ED}"> <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/> <TimeBasedTriggeringPolicy/> </Policies> <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/> </RollingFile> <!-- warn日志文件输出日志信息 --> <RollingFile name="Warn_File" fileName="${ERROR_FILE_PATH_ING}" filePattern="${ERROR_FILE_PATH_ED}"> <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/> <TimeBasedTriggeringPolicy/> </Policies> <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/> </RollingFile> <!-- error日志文件输出日志信息 --> <RollingFile name="Error_File" fileName="${ERROR_FILE_PATH_ING}" filePattern="${ERROR_FILE_PATH_ED}"> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/> <TimeBasedTriggeringPolicy/> </Policies> <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/> </RollingFile> </appenders> <!--配置总的日志监听级别 --> <loggers> <!-- 业务代码输出debug --> <Logger name="com.config" level="debug" additivity="true"> <!-- <AppenderRef ref="Debug_File"></AppenderRef> --> </Logger> <root level="INFO"> <appender-ref ref="Console_Log"/> <!-- <appender-ref ref="Debug_File"/> <appender-ref ref="Info_File"/> <appender-ref ref="Error_File"/> --> </root> </loggers> </configuration>