zayac-admin/continew-admin-webapi/src/main/resources/logback-spring.xml
2022-12-10 21:25:14 +08:00

72 lines
3.7 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">
<!-- 应用名 -->
<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="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
<!-- 循环政策:基于时间和大小创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 -->
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd, aux}/${APP_NAME}.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
<!-- 日志保存 10 天(一小时生成一个,一天 24 个文件) -->
<maxHistory>240</maxHistory>
<!-- 单个日志文件最大的大小 -->
<maxFileSize>20MB</maxFileSize>
</rollingPolicy>
</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"/>
<appender-ref ref="ASYNC_FILE"/>
</root>
</springProfile>
</configuration>