| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- ~ Copyright (c) 2021 sky4cloud Authors. All Rights Reserved.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
- <configuration debug="false" scan="false">
- <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
- <property name="log.path" value="logs/${spring.application.name}"/>
- <!-- 彩色日志格式 -->
- <property name="CONSOLE_LOG_PATTERN"
- value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
- <!-- 彩色日志依赖的渲染类 -->
- <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
- <conversionRule conversionWord="wex"
- converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
- <conversionRule conversionWord="wEx"
- converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
- <!-- Console log output -->
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- </encoder>
- </appender>
- <!-- Log file debug output -->
- <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/debug.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- </encoder>
- </appender>
- <!-- Log file error output -->
- <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/error.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- </appender>
- <appender name="aliyun" class="com.aliyun.openservices.log.logback.LoghubAppender">
- <!-- Configure account and network -->
- <endpoint>cn-chengdu.log.aliyuncs.com</endpoint>
- <!-- 填写sls key密钥 -->
- <accessKeyId>LTAI5tLsj8MPeZgqiR3omZtk</accessKeyId>
- <accessKeySecret>Dj710GX7H4KHEfopzboT1g57a7RGTH</accessKeySecret>
- <project>kxs-logs</project>
- <!--logStore名称 -->
- <logStore>kxs-store</logStore>
- <!-- Optional parameters -->
- <!-- 主题名称 -->
- <topic>${spring.application.name}</topic>
- <!-- #单个 producer 实例能缓存的日志大小上限,默认为 100MB。-->
- <totalSizeInBytes>104857600</totalSizeInBytes>
- <maxBlockMs>0</maxBlockMs>
- <!-- 执行日志发送任务的线程池大小,默认为可用处理器个数。-->
- <ioThreadCount>8</ioThreadCount>
- <batchSizeThresholdInBytes>524288</batchSizeThresholdInBytes>
- <batchCountThreshold>4096</batchCountThreshold>
- <lingerMs>2000</lingerMs>
- <retries>10</retries>
- <baseRetryBackoffMs>100</baseRetryBackoffMs>
- <maxRetryBackoffMs>50000</maxRetryBackoffMs>
- <!-- 可选项 通过配置 encoder 的 pattern 自定义 log 的格式 -->
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- </encoder>
- <!-- Optional parameters -->
- <timeFormat>yyyy-MM-dd'T'HH:mmZ</timeFormat>
- <!-- 可选项 设置时区 -->
- <timeZone>Asia/Shanghai</timeZone>
- <mdcFields>
- TraceId,#####
- </mdcFields>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- <level>INFO</level>
- </filter>
- <!-- 屏蔽transfer模块 -->
- <logger name="com.kxs.transfer.api" level="OFF"/>
- </appender>
- <!--为了防止进程退出时,内存中的数据丢失,请加上此选项-->
- <shutdownHook class="ch.qos.logback.core.hook.DefaultShutdownHook"/>
- <!-- 可用来获取StatusManager中的状态 -->
- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener"/>
- <!-- 解决debug模式下循环发送的问题 -->
- <logger name="org.apache.http.impl.conn.Wire" level="WARN" />
- <!-- 引入sls日志 -->
- <springProfile name="dev">
- <root level="INFO">
- <appender-ref ref="console"/>
- <appender-ref ref="aliyun" />
- </root>
- </springProfile>
- <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
- <springProfile name="test">
- <root level="INFO">
- <appender-ref ref="console"/>
- <appender-ref ref="debug"/>
- <appender-ref ref="error"/>
- </root>
- </springProfile>
- <springProfile name="prod">
- <root level="INFO">
- <appender-ref ref="console"/>
- <appender-ref ref="debug"/>
- <appender-ref ref="error"/>
- <appender-ref ref="aliyun" />
- </root>
- </springProfile>
- </configuration>
|