logback-opensdk.xml 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="60 seconds">
  3. <!-- 日志上下文名称,便于多服务统一检索。 -->
  4. <contextName>sckw-ng-weighbridge</contextName>
  5. <!-- 从 Spring 环境读取服务名;未读取到时使用默认应用名。 -->
  6. <springProperty scope="context" name="APP_NAME" source="spring.application.name" defaultValue="sckw-ng-weighbridge"/>
  7. <!-- 支持通过 JVM 参数 -DLOG_PATH=/data/logs 覆盖日志根目录。 -->
  8. <property name="LOG_PATH" value="${LOG_PATH:-logs}"/>
  9. <property name="APP_LOG_PATH" value="${LOG_PATH}/${APP_NAME}"/>
  10. <!--
  11. 打印内容:
  12. 时间 | 级别 | 进程ID | 线程名 | traceId | logger类名:行号 | 业务日志内容 | 异常堆栈
  13. -->
  14. <property name="LOG_PATTERN"
  15. value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} [%thread] [%X{traceId:-}] %logger{36}:%line - %msg%n%ex"/>
  16. <property name="CONSOLE_PATTERN"
  17. value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%-5level) %clr(${PID:-}){magenta} %clr([%thread]){faint} %clr([%X{traceId:-}]){cyan} %clr(%logger{36}:%line){blue} - %msg%n%ex"/>
  18. <!-- 控制台日志:本地启动、容器标准输出采集使用。 -->
  19. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  20. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  21. <pattern>${CONSOLE_PATTERN}</pattern>
  22. <charset>UTF-8</charset>
  23. </encoder>
  24. </appender>
  25. <!-- 全量业务日志:INFO 及以上级别。 -->
  26. <appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  27. <file>${APP_LOG_PATH}/application.log</file>
  28. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  29. <pattern>${LOG_PATTERN}</pattern>
  30. <charset>UTF-8</charset>
  31. </encoder>
  32. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  33. <fileNamePattern>${APP_LOG_PATH}/application.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
  34. <maxFileSize>100MB</maxFileSize>
  35. <maxHistory>30</maxHistory>
  36. <totalSizeCap>10GB</totalSizeCap>
  37. </rollingPolicy>
  38. </appender>
  39. <!-- 错误日志:ERROR 级别单独归档,便于告警与排查。 -->
  40. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  41. <file>${APP_LOG_PATH}/error.log</file>
  42. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  43. <level>ERROR</level>
  44. </filter>
  45. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  46. <pattern>${LOG_PATTERN}</pattern>
  47. <charset>UTF-8</charset>
  48. </encoder>
  49. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  50. <fileNamePattern>${APP_LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
  51. <maxFileSize>50MB</maxFileSize>
  52. <maxHistory>60</maxHistory>
  53. <totalSizeCap>5GB</totalSizeCap>
  54. </rollingPolicy>
  55. </appender>
  56. <!-- OpenSDK 专用日志:记录芯烨云 OpenSDK 调用链路与返回结果。 -->
  57. <appender name="OPENSDK_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  58. <file>${APP_LOG_PATH}/opensdk.log</file>
  59. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  60. <pattern>${LOG_PATTERN}</pattern>
  61. <charset>UTF-8</charset>
  62. </encoder>
  63. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  64. <fileNamePattern>${APP_LOG_PATH}/opensdk.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
  65. <maxFileSize>50MB</maxFileSize>
  66. <maxHistory>60</maxHistory>
  67. <totalSizeCap>5GB</totalSizeCap>
  68. </rollingPolicy>
  69. </appender>
  70. <!-- 降低常见框架噪音,保留业务问题排查所需级别。 -->
  71. <logger name="org.springframework" level="INFO"/>
  72. <logger name="org.apache.catalina" level="INFO"/>
  73. <logger name="com.alibaba.nacos" level="WARN"/>
  74. <logger name="com.zaxxer.hikari" level="INFO"/>
  75. <!-- 项目业务日志。 -->
  76. <logger name="com.platform" level="INFO"/>
  77. <!-- OpenSDK 依赖包日志:同时输出到专用文件和根日志。 -->
  78. <logger name="io.github.dv996coding" level="INFO" additivity="true">
  79. <appender-ref ref="OPENSDK_FILE"/>
  80. </logger>
  81. <root level="INFO">
  82. <appender-ref ref="CONSOLE"/>
  83. <appender-ref ref="APP_FILE"/>
  84. <appender-ref ref="ERROR_FILE"/>
  85. </root>
  86. </configuration>