fun.fengwk.convention4j.springboot.starter.logback.file-appender.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?> <!-- File appender logback configuration provided for import, equivalent to the programmatic initialization performed by Boot --> <included> <springProperty scope="context" name="APP_NAME" source="spring.application.name" defaultValue="unknown"/> <springProperty scope="context" name="LOG_PATH" source="logging.path" defaultValue="./logs"/> <springProperty scope="context" name="MAX_HISTORY" source="logging.file.max-history" defaultValue="14"/> <springProperty scope="context" name="MAX_SIZE" source="logging.file.max-size" defaultValue="128MB"/> <springProperty scope="context" name="TOTAL_SIZE_CAP" source="logging.file.total-size-cap" defaultValue="8GB"/> <springProperty scope="context" name="DISCARDING_THRESHOLD" source="logging.async.discarding-threshold" defaultValue="0"/> <springProperty scope="context" name="QUEUE_SIZE" source="logging.async.queue-size" defaultValue="4096"/> <!-- 输出所有内容 --> <appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 日志文件保存路径 --> <file>${LOG_PATH}/${APP_NAME}-all.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件压缩后的名称 --> <FileNamePattern>${LOG_PATH}/${APP_NAME}-all-%d{yyyy-MM-dd}.%i.gz</FileNamePattern> <!-- 当文件大小达到maxFileSize,默认128MB时,将发生滚动 --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${MAX_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!-- 日志最多保留时间,默认2周 --> <maxHistory>${MAX_HISTORY}</maxHistory> <!-- 启动时尝试清理超过maxHistory的日志 --> <cleanHistoryOnStart>true</cleanHistoryOnStart> <!-- 日志最大保存大小,默认8G --> <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!-- 日志文件输出格式,见defaults.xml --> <pattern>${FILE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 输出错误内容 --> <!-- <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!-- <!– 日志文件保存路径 –>--> <!-- <file>${LOG_PATH}/${APP_NAME}-error.log</file>--> <!-- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!-- <!– 日志文件压缩后的名称 –>--> <!-- <FileNamePattern>${LOG_PATH}/${APP_NAME}-error-%d{yyyy-MM-dd}.%i.gz</FileNamePattern>--> <!-- <!– 当文件大小达到maxFileSize,默认128MB时,将发生滚动 –>--> <!-- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!-- <maxFileSize>${MAX_SIZE}</maxFileSize>--> <!-- </timeBasedFileNamingAndTriggeringPolicy>--> <!-- <!– 日志最多保留时间,默认2周 –>--> <!-- <maxHistory>${MAX_HISTORY}</maxHistory>--> <!-- <!– 启动时尝试清理超过maxHistory的日志 –>--> <!-- <cleanHistoryOnStart>true</cleanHistoryOnStart>--> <!-- <!– 日志最大保存大小,默认8G –>--> <!-- <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap>--> <!-- </rollingPolicy>--> <!-- <!– 当日志级别大于等于ERROR才打印 –>--> <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">--> <!-- <level>ERROR</level>--> <!-- </filter>--> <!-- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">--> <!-- <!– 日志文件输出格式,见defaults.xml –>--> <!-- <pattern>${FILE_LOG_PATTERN}</pattern>--> <!-- <charset>UTF-8</charset>--> <!-- </encoder>--> <!-- </appender>--> <!-- 追踪控制台日志 --> <appender name="TRACE_CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${TRACE_CONSOLE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 追踪文件日志 --> <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 日志文件保存路径 --> <file>${LOG_PATH}/${APP_NAME}-trace.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件压缩后的名称 --> <FileNamePattern>${LOG_PATH}/${APP_NAME}-trace-%d{yyyy-MM-dd}.%i.gz</FileNamePattern> <!-- 当文件大小达到maxFileSize,默认128MB时,将发生滚动 --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${MAX_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!-- 日志最多保留时间,默认2周 --> <maxHistory>${MAX_HISTORY}</maxHistory> <!-- 启动时尝试清理超过maxHistory的日志 --> <cleanHistoryOnStart>true</cleanHistoryOnStart> <!-- 日志最大保存大小,默认8G --> <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!-- 日志文件输出格式,见defaults.xml --> <pattern>${TRACE_FILE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!--异步输出所有内容--> <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender"> <!-- discardingThreshold是一个数量,默认是queueSize的1/5,当队列中可用的元素(queueSize - 使用的元素数量)少于这个数量时, 将丢弃INFO及以下级别的日志,建议设置为0,等到队列耗尽时再进行丢弃。 --> <discardingThreshold>${DISCARDING_THRESHOLD}</discardingThreshold> <!-- 异步队列最大容量 --> <queueSize>${QUEUE_SIZE}</queueSize> <appender-ref ref ="ALL"/> </appender> <!-- 异步输出错误内容 --> <!-- <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">--> <!-- <!–--> <!-- discardingThreshold是一个数量,默认是queueSize的1/5,当队列中可用的元素(queueSize - 使用的元素数量)少于这个数量时,--> <!-- 将丢弃INFO及以下级别的日志,建议设置为0,等到队列耗尽时再进行丢弃。--> <!-- –>--> <!-- <discardingThreshold>${DISCARDING_THRESHOLD}</discardingThreshold>--> <!-- <!– 异步队列最大容量 –>--> <!-- <queueSize>${QUEUE_SIZE}</queueSize>--> <!-- <appender-ref ref="ERROR"/>--> <!-- </appender>--> <!--异步输出追踪内容--> <appender name="ASYNC_TRACE_FILE" class="ch.qos.logback.classic.AsyncAppender"> <!-- discardingThreshold是一个数量,默认是queueSize的1/5,当队列中可用的元素(queueSize - 使用的元素数量)少于这个数量时, 将丢弃INFO及以下级别的日志,建议设置为0,等到队列耗尽时再进行丢弃。 --> <discardingThreshold>${DISCARDING_THRESHOLD}</discardingThreshold> <!-- 异步队列最大容量 --> <queueSize>${QUEUE_SIZE}</queueSize> <appender-ref ref ="TRACE_FILE"/> </appender> </included>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy