Spring Boot Log4j2配置

xiaoxiao2021-02-28  41

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> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>

application.properties

指定log4j2配置文件的位置与名称。

logging.config=classpath:log4j2.properties

log4j2.properties

常用配置,控制台输出,按日滚动日志。

rootLogger.appenderRef.rolling.ref.level可以配置日志级别,这里不作演示。

特色:日志按日志级别输出彩色日志。

name=PropertiesConfig property.filename=logs appenders=console, rolling # rootLogger rootLogger.level=info rootLogger.appenderRef.stdout.ref=Stdout rootLogger.appenderRef.rolling.ref=InfoRollingFile # console appender.console.type=Console appender.console.name=Stdout appender.console.layout.type=PatternLayout appender.console.layout.pattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue} # rolling file appender.rolling.type=RollingFile appender.rolling.name=InfoRollingFile appender.rolling.fileName=./logs/rolling.log appender.rolling.filePattern=./logs/rolling_%d{yyyy-MM-dd}_%i.log appender.rolling.layout.type=PatternLayout appender.rolling.layout.pattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue} appender.rolling.policies.type=Policies appender.rolling.policies.time.type=TimeBasedTriggeringPolicy appender.rolling.policies.time.interval=1 appender.rolling.policies.time.modulate=true appender.rolling.policies.size.type=SizeBasedTriggeringPolicy appender.rolling.policies.size.size=20M appender.rolling.strategy.type=DefaultRolloverStrategy appender.rolling.strategy.max=100

优化

分别只打印 debug、info、error 日志到对应的log文件中.

name=PropertiesConfig # 公共变量 # 文件路径 property.filePath=logs property.filePattern=logs/%d{yyyy-MM-dd} # 输出格式 property.layoutPattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue} # 记录器 appenders=Console,Debug,Info,Error # 根记录器,所有记录器的父辈 rootLogger.level=debug # 级别过滤(过滤日志记录) # filters = threshold filter.threshold.type=ThresholdFilter # 只记录debug级别以上的日志,大小写无关:(ALL<)TRACE<DEBUG<INFO<WARN<ERROR<FATAL(<OFF) filter.threshold.level=debug # console appender.Console.type=Console appender.Console.name=Stdout appender.Console.layout.type=PatternLayout appender.Console.layout.pattern=${layoutPattern} rootLogger.appenderRef.stdout.ref=Stdout # debug rolling file appender.Debug.type=RollingFile appender.Debug.name=DebugRollingFile appender.Debug.fileName=${filePath}/debug.log appender.Debug.filePattern=${filePattern}/debug_%d{yyyy-MM-dd}_%i.log appender.Debug.layout.type=PatternLayout appender.Debug.layout.pattern=${layoutPattern} appender.Debug.policies.type=Policies appender.Debug.policies.time.type=TimeBasedTriggeringPolicy appender.Debug.policies.time.interval=1 appender.Debug.policies.time.modulate=true appender.Debug.policies.size.type=SizeBasedTriggeringPolicy appender.Debug.policies.size.size=20M appender.Debug.strategy.type=DefaultRolloverStrategy appender.Debug.strategy.max=100 # 过滤debug以上信息 appender.Debug.filter.threshold.type=ThresholdFilter appender.Debug.filter.threshold.level=INFO appender.Debug.filter.threshold.onMatch=DENY appender.Debug.filter.threshold.onMisMatch=NEUTRAL # InfoRollingFile 日志级别 rootLogger.appenderRef.Debug.level=debug rootLogger.appenderRef.Debug.ref=DebugRollingFile # info rolling file appender.Info.type=RollingFile appender.Info.name=InfoRollingFile appender.Info.fileName=${filePath}/info.log appender.Info.filePattern=${filePattern}/info_%d{yyyy-MM-dd}_%i.log appender.Info.layout.type=PatternLayout appender.Info.layout.pattern=${layoutPattern} appender.Info.policies.type=Policies appender.Info.policies.time.type=TimeBasedTriggeringPolicy appender.Info.policies.time.interval=1 appender.Info.policies.time.modulate=true appender.Info.policies.size.type=SizeBasedTriggeringPolicy appender.Info.policies.size.size=20M appender.Info.strategy.type=DefaultRolloverStrategy appender.Info.strategy.max=100 # 过滤 info 以上信息,只输出 info 级别日志 appender.Info.filter.threshold.type=ThresholdFilter appender.Info.filter.threshold.level=warn appender.Info.filter.threshold.onMatch=DENY appender.Info.filter.threshold.onMisMatch=NEUTRAL # InfoRollingFile 日志级别 rootLogger.appenderRef.Info.level=info rootLogger.appenderRef.Info.ref=InfoRollingFile # error rolling file appender.Error.type=RollingFile appender.Error.name=ErrorRollingFile appender.Error.fileName=${filePath}/error.log appender.Error.filePattern=${filePattern}/error_%d{yyyy-MM-dd}_%i.log appender.Error.layout.type=PatternLayout appender.Error.layout.pattern=${layoutPattern} appender.Error.policies.type=Policies appender.Error.policies.time.type=TimeBasedTriggeringPolicy appender.Error.policies.time.interval=1 appender.Error.policies.time.modulate=true appender.Error.policies.size.type=SizeBasedTriggeringPolicy appender.Error.policies.size.size=20M appender.Error.strategy.type=DefaultRolloverStrategy appender.Error.strategy.max=100 # 过滤 error 以上信息,只输出 error 级别日志 appender.Error.filter.threshold.type=ThresholdFilter appender.Error.filter.threshold.level=fatal appender.Error.filter.threshold.onMatch=DENY appender.Error.filter.threshold.onMisMatch=NEUTRAL # ErrorRollingFile 日志级别 rootLogger.appenderRef.Error.level=error rootLogger.appenderRef.Error.ref=ErrorRollingFile

如图:

转载请注明原文地址: https://www.6miu.com/read-600070.html

最新回复(0)