| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true" scanPeriod="60 seconds">
- <!-- 日志上下文名称,便于多服务统一检索。 -->
- <contextName>sckw-ng-weighbridge</contextName>
- <!-- 从 Spring 环境读取服务名;未读取到时使用默认应用名。 -->
- <springProperty scope="context" name="APP_NAME" source="spring.application.name" defaultValue="sckw-ng-weighbridge"/>
- <!-- 支持通过 JVM 参数 -DLOG_PATH=/data/logs 覆盖日志根目录。 -->
- <property name="LOG_PATH" value="${LOG_PATH:-logs}"/>
- <property name="APP_LOG_PATH" value="${LOG_PATH}/${APP_NAME}"/>
- <!--
- 打印内容:
- 时间 | 级别 | 进程ID | 线程名 | traceId | logger类名:行号 | 业务日志内容 | 异常堆栈
- -->
- <property name="LOG_PATTERN"
- value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} [%thread] [%X{traceId:-}] %logger{36}:%line - %msg%n%ex"/>
- <property name="CONSOLE_PATTERN"
- 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"/>
- <!-- 控制台日志:本地启动、容器标准输出采集使用。 -->
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>${CONSOLE_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- </appender>
- <!-- 全量业务日志:INFO 及以上级别。 -->
- <appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${APP_LOG_PATH}/application.log</file>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${APP_LOG_PATH}/application.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
- <maxFileSize>100MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- </appender>
- <!-- 错误日志:ERROR 级别单独归档,便于告警与排查。 -->
- <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${APP_LOG_PATH}/error.log</file>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${APP_LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>60</maxHistory>
- <totalSizeCap>5GB</totalSizeCap>
- </rollingPolicy>
- </appender>
- <!-- OpenSDK 专用日志:记录芯烨云 OpenSDK 调用链路与返回结果。 -->
- <appender name="OPENSDK_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${APP_LOG_PATH}/opensdk.log</file>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${APP_LOG_PATH}/opensdk.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>60</maxHistory>
- <totalSizeCap>5GB</totalSizeCap>
- </rollingPolicy>
- </appender>
- <!-- 降低常见框架噪音,保留业务问题排查所需级别。 -->
- <logger name="org.springframework" level="INFO"/>
- <logger name="org.apache.catalina" level="INFO"/>
- <logger name="com.alibaba.nacos" level="WARN"/>
- <logger name="com.zaxxer.hikari" level="INFO"/>
- <!-- 项目业务日志。 -->
- <logger name="com.platform" level="INFO"/>
- <!-- OpenSDK 依赖包日志:同时输出到专用文件和根日志。 -->
- <logger name="io.github.dv996coding" level="INFO" additivity="true">
- <appender-ref ref="OPENSDK_FILE"/>
- </logger>
- <root level="INFO">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="APP_FILE"/>
- <appender-ref ref="ERROR_FILE"/>
- </root>
- </configuration>
|