zayac-admin/continew-admin-webapi/src/main/resources/logback-spring.xml
Charles7c 1f7fef5b31 chore: 调整 Logback 配置,取消启动时打印 Logback 状态日志
1.关闭 Logback 的状态监听器(通过更换默认状态监听器实现)
2023-11-05 18:05:44 +08:00

83 lines
4.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为 TRACE < DEBUG < INFO < WARN < ERROR < FATAL如果设置为 WARN则低于 WARN 的信息都不会输出 -->
<!-- scan当此属性设置为 true 时,配置文档如果发生改变,将会被重新加载,默认值为 true -->
<!-- scanPeriod设置监测配置文档是否有修改的时间间隔如果没有给出时间单位默认单位是毫秒。
当 scan 为 true 时,此属性生效。默认的时间间隔为 1 分钟。 -->
<!-- debug当此属性设置为 true 时,将打印出 logback 内部日志信息,实时查看 logback 运行状态。默认值为 false。 -->
<configuration debug="false" scan="true" scanPeriod="30 seconds">
<!-- 关闭 Logback 的状态监听器(通过更换默认状态监听器实现) -->
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<!-- 应用名 -->
<springProperty name="APP_NAME" source="spring.application.name" scope="context" />
<!-- 保存路径 -->
<property name="LOG_PATH" value="${LOG_PATH:-./logs}" />
<!-- 字符集 -->
<property name="LOG_CHARSET" value="utf-8" />
<!-- 控制台输出格式(带颜色) -->
<!-- 格式化输出:%d 表示日期;%thread 表示线程名;%-5level级别从左显示 5 个字符宽度;%msg日志消息%n 是换行符 -->
<property name="CONSOLE_LOG_PATTERN" value="%red(%d{yyyy-MM-dd HH:mm:ss}) %highlight(%-5level) %green([%thread]) %boldMagenta(%logger{50}) - %msg%n" />
<!-- 文件输出格式 -->
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{50} - %msg%n"/>
<!-- 输出日志到控制台 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 输出日志到控制台(不带颜色) -->
<appender name="CONSOLE_PROD" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 输出日志到文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文件的路径及文件名 -->
<file>${LOG_PATH}/${APP_NAME}.log</file>
<!-- 滚动策略:基于时间归档日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 归档日志文件的路径及文件名 -->
<fileNamePattern>${LOG_PATH}/${APP_NAME}.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
<!-- 归档日志最大保留数量(取决于 fileNamePattern 配置的规则,例如:配置归档为每天 1 个文件,那么保留 15 个也可以理解为是保留 15 天) -->
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 输出日志到文件(异步) -->
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志,默认:如果队列的 80% 已满,则会丢弃 TRACT、DEBUG、INFO 级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度该值会影响性能默认256 -->
<queueSize>512</queueSize>
<!-- 添加附加的 appender最多只能添加一个 -->
<appender-ref ref="FILE"/>
</appender>
<!-- 开发环境:只打印到控制台 -->
<springProfile name="dev">
<!-- 如果配置的日志等级,和 application.yml 中的日志等级配置重叠application.yml 配置优先级高 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<!-- 生产环境:打印到控制台并输出到文件 -->
<springProfile name="prod">
<root level="INFO">
<appender-ref ref="CONSOLE_PROD"/>
<appender-ref ref="ASYNC_FILE"/>
</root>
</springProfile>
</configuration>