Log4j2模板
log4j2 pattern format website
config xml file # <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorInterval="15"> <properties> <property name="LOG_HOME">logs</property> <property name="PATTERN_FORMAT">%d{HH:mm:ss.SSS} [%t] [%-5level] %c.%M(%L) - %msg%n</property> </properties> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="${PATTERN_FORMAT}" /> <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="NEUTRAL" /> </Console> <RollingRandomAccessFile name="DebugFile" fileName="${LOG_HOME}/debug.log" filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/debug-%d{yyyy-MM-dd}-%i.log.zip"> <Filters> <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="${PATTERN_FORMAT}" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="15 MB" /> </Policies> <DefaultRolloverStrategy max="20" > <Delete basePath="${LOG_HOME}/" maxDepth="5"> <IfFileName glob="*debug*.log.zip"/> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> <RollingRandomAccessFile name="InfoFile" fileName="${LOG_HOME}/info.log" filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log.zip"> <Filters> <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="${PATTERN_FORMAT}" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="15 MB" /> </Policies> <DefaultRolloverStrategy max="20" > <Delete basePath="${LOG_HOME}/" maxDepth="5"> <IfFileName glob="*info*.log.zip"/> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> <RollingRandomAccessFile name="ErrorFile" fileName="${LOG_HOME}/error.log" filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/error-%d{yyyy-MM-dd}-%i.log.zip"> <Filters> <ThresholdFilter level="FATAL" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="${PATTERN_FORMAT}" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="15" > <Delete basePath="${LOG_HOME}/" maxDepth="5"> <IfFileName glob="*error*.log.zip"/> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> <RollingRandomAccessFile name="FatalFile" fileName="${LOG_HOME}/fatal.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/fatal-%d{yyyy-MM-dd}-%i.log.zip"> <Filters> <ThresholdFilter level="FATAL" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="${PATTERN_FORMAT}" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="5 MB" /> </Policies> <DefaultRolloverStrategy max="5" > <Delete basePath="${LOG_HOME}/" maxDepth="5"> <IfFileName glob="*fatal*.log.zip"/> </Delete> </DefaultRolloverStrategy> </RollingRandomAccessFile> </Appenders> <Loggers> <Logger name="org.apache" level="ERROR"/> <Logger name="org.mybatis" level="DEBUG"/> <Root level="INFO"> <AppenderRef ref="Console" /> <AppenderRef ref="DebugFile"/> <AppenderRef ref="InfoFile" /> <AppenderRef ref="ErrorFile" /> <AppenderRef ref="FatalFile" /> </Root> </Loggers> </Configuration> config yaml file # Configuration: status: warn Properties: Property: - name: LOG_HOME value: logs - name: PATTERN_FORMAT value: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %c{1.5.*}.%M(%L) - %msg%n%throwable" Appenders: Console: name: ConsoleAppender target: SYSTEM_OUT PatternLayout: pattern: ${PATTERN_FORMAT} RollingRandomAccessFile: name: FileAppender fileName: ${LOG_HOME}/app.log filePattern: "${LOG_HOME}/%d{yyyy-MM}-week-${date:w}/%d{yyyy-MM-dd}-%i.log.zip" PatternLayout: pattern: ${PATTERN_FORMAT} Policies: SizeBasedTriggeringPolicy: size: 50MB TimeBasedTriggeringPolicy: interval: 1 modulate: true DefaultRolloverStrategy: max: 30 Delete: basePath: ${LOG_HOME} maxDepth: 3 IfFileName: glob: "*/week-*/*.log.zip" Loggers: Root: level: info AppenderRef: - ref: ConsoleAppender - ref: FileAppender Logger: - name: org.apache level: warn - name: org.mybatis level: debug springboot指定yaml配置文件 # logging: config: classpath:log4j2.yaml
