Commit d5a42a92df8817ece8d4e0a9c19cfbcc2f4055e1

Authored by YunaiV
1 parent 33ab45fd

梳理 logback-spring.xml 配置文件

src/main/resources/application-local.yaml
... ... @@ -145,8 +145,8 @@ spring:
145 145 # 日志文件配置
146 146 logging:
147 147 file:
148   - path: ${user.home}/logs/ # 日志文件的路径
149   - name: ${spring.application.name} # 日志文件名
  148 +# path: ${user.home}/logs/ # 日志文件的路径
  149 + name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
150 150  
151 151 --- #################### 芋道相关配置 ####################
152 152  
... ...
src/main/resources/logback-spring.xml
1 1 <configuration>
2   - <!-- 变量 -->
  2 + <!-- 引用 Spring Boot 的 logback 基础配置 -->
  3 + <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  4 + <!-- 变量 yudao.info.base-package,基础业务包 -->
3 5 <springProperty scope="context" name="yudao.info.base-package" source="yudao.info.base-package"/>
4   - <property name="PATTERN_DEFAULT" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | %tid | %thread | %-5level | %msg%n"/>
  6 + <!-- 格式化输出:%d 表示日期,%X{tid} SkWalking 链路追踪编号,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度,%msg:日志消息,%n是换行符 -->
  7 +<!-- <property name="PATTERN_DEFAULT" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n"/>-->
  8 + <property name="PATTERN_DEFAULT" value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%thread] [%X{tid}] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
5 9  
6 10 <!-- 控制台 Appender -->
7 11 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">     
... ... @@ -13,22 +17,34 @@
13 17 </appender>
14 18  
15 19 <!-- 文件 Appender -->
  20 + <!-- 参考 Spring Boot 的 file-appender.xml 编写 -->
16 21 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
17 22 <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
18 23 <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
19 24 <pattern>${PATTERN_DEFAULT}</pattern>
20 25 </layout>
21 26 </encoder>
  27 + <!-- 日志文件名 -->
  28 + <file>${LOG_FILE}</file>
22 29 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
23   - <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log}</fileNamePattern>
24   - <maxFileSize>10MB</maxFileSize>
25   - <maxHistory>7</maxHistory>
26   - <cleanHistoryOnStart>false</cleanHistoryOnStart>
  30 + <!-- 滚动后的日志文件名 -->
  31 + <fileNamePattern>${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}</fileNamePattern>
  32 + <!-- 启动服务时,是否清理历史日志,一般不建议清理 -->
  33 + <cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
  34 + <!-- 日志文件,到达多少容量,进行滚动 -->
  35 + <maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize>
  36 + <!-- 日志文件的总大小,0 表示不限制 -->
  37 + <totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap>
  38 + <!-- 日志文件的保留天数 -->
  39 + <maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30}</maxHistory>
27 40 </rollingPolicy>
28 41 </appender>
  42 + <!-- 异步写入日志,提升性能 -->
29 43 <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
  44 + <!-- 不丢失日志。默认的,如果队列的 80% 已满,则会丢弃 TRACT、DEBUG、INFO 级别的日志 -->
30 45 <discardingThreshold>0</discardingThreshold>
31   - <queueSize>10</queueSize>
  46 + <!-- 更改默认的队列的深度,该值会影响性能。默认值为 256 -->
  47 + <queueSize>256</queueSize>
32 48 <appender-ref ref="FILE"/>
33 49 </appender>
34 50  
... ...