废话不多说直接上干货log4j2.properties
#设置日志4j初始化失败时是否进行调试或跟踪
#status=warn
#配置名称
#name=ConsoleLogConfig
#log4j2.propertiesstatus=warn
#Log 日志文件存放位置
property.basePath=./target/app/logs
#Root logger level
rootLogger.level=debug
#控制台 appender 配置
appender.console.type=Console
appender.console.name=consoleLogger
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.console.filter.threshold.type=ThresholdFilter
appender.console.filter.threshold.level=info
#根记录器引用控制台appender
rootLogger.appenderRef.console.ref=consoleLogger
#RollingFileAppender 名称、模式、路径和滚动策略
appender.error.type = RollingFile
appender.error.name = errorLogger
appender.error.fileName= ${basePath}/error/app.log
appender.error.filePattern= ${basePath}/%d{yyyyMMdd}/error/app_%d{yyyyMMddHHmmss}.log.gz
appender.error.layout.type = PatternLayout
appender.error.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%l] - %msg%n
appender.error.policies.type = Policies
#指定过滤器的类型为级别过滤
appender.error.filter.threshold.type = LevelMatchFilter
#设置日志过滤级别
appender.error.filter.threshold.level = ERROR
#设置当日志事件与过滤器匹配时的处理方式为 ACCEPT,表示接受该日志事件
appender.error.filter.threshold.onMatch = ACCEPT
#设置当日志事件与过滤器不匹配时的处理方式为 DENY,表示拒绝该日志事件
appender.error.filter.threshold.onMismatch = DENY
appender.error.policies.size.type = SizeBasedTriggeringPolicy
#appender.error.policies.size.size = 10MB
appender.error.policies.size.size = 1KB
appender.error.policies.time.type = TimeBasedTriggeringPolicy
appender.error.policies.time.interval = 1
appender.error.policies.time.modulate = true
#配置root logger
rootLogger.appenderRef.error.ref = errorLogger
rootLogger.appenderRef.error.level = error
#RollingFileAppender 轮转策略
#appender.rolling.strategy.type = DefaultRolloverStrategy
#appender.rolling.strategy.delete.type = Delete
#appender.rolling.strategy.delete.basePath = ${basePath}
#appender.rolling.strategy.delete.maxDepth = 10
#appender.rolling.strategy.delete.ifLastModified.type = IfLastModified
#删除所有超过 30 天的文件
#appender.rolling.strategy.delete.ifLastModified.age = 30d
#RollingFileAppender 名称、模式、路径和滚动策略
appender.info.type = RollingFile
appender.info.name = infoLogger
appender.info.fileName= ${basePath}/info/app.log
appender.info.filePattern= ${basePath}/%d{yyyyMMdd}/info/app_%d{yyyyMMddHHmmss}.log.gz
appender.info.layout.type = PatternLayout
appender.info.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%l] - %msg%n
appender.info.policies.type = Policies
appender.info.policies.size.type = SizeBasedTriggeringPolicy
#appender.error.policies.size.size = 10MB
appender.info.policies.size.size = 1KB
appender.info.policies.time.type = TimeBasedTriggeringPolicy
appender.info.policies.time.interval = 1
appender.info.policies.time.modulate = true
#指定过滤器的类型为级别过滤
appender.info.filter.threshold.type = LevelMatchFilter
#设置日志过滤级别
appender.info.filter.threshold.level = INFO
#设置当日志事件与过滤器匹配时的处理方式为 ACCEPT,表示接受该日志事件
appender.info.filter.threshold.onMatch = ACCEPT
#设置当日志事件与过滤器不匹配时的处理方式为 DENY,表示拒绝该日志事件
appender.info.filter.threshold.onMismatch = DENY
#配置root logger
rootLogger.appenderRef.info.ref = infoLogger
rootLogger.appenderRef.info.level = info
RollingFileAppender 名称、模式、路径和滚动策略
appender.all.type = RollingFile
appender.all.name = allLogger
appender.all.fileName= ${basePath}/all/appAll.log
appender.all.filePattern= ${basePath}/%d{yyyyMMdd}/all/app_%d{yyyyMMddHHmmss}.log.gz
appender.all.layout.type = PatternLayout
appender.all.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%l] - %msg%n
appender.all.policies.type = Policies
appender.all.policies.size.type = SizeBasedTriggeringPolicy
appender.all.policies.size.size = 500MB
#appender.all.policies.size.size = 1KB
appender.all.policies.time.type = TimeBasedTriggeringPolicy
appender.all.policies.time.interval = 1
appender.all.policies.time.modulate = true
#指定过滤器的类型为级别过滤
#appender.all.filter.threshold.type = LevelMatchFilter
#设置日志过滤级别
#appender.all.filter.threshold.level = INFO
#设置当日志事件与过滤器匹配时的处理方式为 ACCEPT,表示接受该日志事件
#appender.all.filter.threshold.onMatch = ACCEPT
#设置当日志事件与过滤器不匹配时的处理方式为 DENY,表示拒绝该日志事件
#appender.all.filter.threshold.onMismatch = DENY
#配置root logger
rootLogger.appenderRef.all.ref = allLogger
rootLogger.appenderRef.all.level = all