mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-11-01 18:51:53 +08:00
build: add logstash-logback dependency and update logging configuration
Add Logstash Logback dependency to enable JSON logging and update the logback.xml configuration to include a JSON encoder. Also, update the CI workflow to cache Maven packages and improve build performance by disabling transfer progress.
This commit is contained in:
@@ -16,6 +16,15 @@ jobs:
|
||||
distribution: liberica
|
||||
java-version: 21
|
||||
cache: maven
|
||||
cache-dependency-path: "**/pom.xml"
|
||||
|
||||
- name: Cache Maven packages
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-m2-
|
||||
|
||||
- name: Extract Variables
|
||||
id: variables
|
||||
@@ -51,7 +60,7 @@ jobs:
|
||||
echo "docker_registry_aliyun=registry.cn-beijing.aliyuncs.com/dc3" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build with Maven
|
||||
run: mvn -U -e -B clean package -DskipTests -P ${{ steps.variables.outputs.profile }}
|
||||
run: mvn -U -e -B clean package -DskipTests -P ${{ steps.variables.outputs.profile }} --no-transfer-progress
|
||||
|
||||
- name: List Workspace
|
||||
run: |
|
||||
|
||||
@@ -65,6 +65,10 @@
|
||||
<developerConnection>https://github.com/pnoker/iot-dc3.git</developerConnection>
|
||||
</scm>
|
||||
|
||||
<properties>
|
||||
<logstash.logback.version>8.1</logstash.logback.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- Spring Context -->
|
||||
@@ -79,6 +83,13 @@
|
||||
<artifactId>aspectjweaver</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Logstash Logback -->
|
||||
<dependency>
|
||||
<groupId>net.logstash.logback</groupId>
|
||||
<artifactId>logstash-logback-encoder</artifactId>
|
||||
<version>${logstash.logback.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -22,13 +22,55 @@
|
||||
value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} [%clr(%4line){magenta}] %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx"/>
|
||||
<property name="FILE_LOG_PATTERN"
|
||||
value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%t] [%4line] %-40.40logger{39} : %m%n%wEx"/>
|
||||
<property name="LOGBACK_ROLLINGPOLICY_MAX_HISTORY" value="30"/>
|
||||
<property name="LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START" value="false"/>
|
||||
<property name="LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE" value="200MB"/>
|
||||
<property name="LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP" value="20GB"/>
|
||||
<property name="LOGBACK_ROLLINGPOLICY_MAX_HISTORY" value="30"/>
|
||||
|
||||
<!-- 引入 base.xml -->
|
||||
<include resource="org/springframework/boot/logging/logback/base.xml"/>
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>${FILE_LOG_THRESHOLD}</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||||
<charset>${FILE_LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
<file>${LOG_FILE}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}</fileNamePattern>
|
||||
<cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
|
||||
<maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize>
|
||||
<totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap>
|
||||
<maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}</maxHistory>
|
||||
</rollingPolicy>
|
||||
|
||||
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
|
||||
<providers>
|
||||
<timestamp>
|
||||
<fieldName>timestamp</fieldName>
|
||||
<timeZone>Asia/Shanghai</timeZone>
|
||||
</timestamp>
|
||||
<version>
|
||||
<fieldName>version</fieldName>
|
||||
</version>
|
||||
<message/>
|
||||
<loggerName/>
|
||||
<threadName/>
|
||||
<logLevel/>
|
||||
<logLevelValue/>
|
||||
<mdc/>
|
||||
<contextName/>
|
||||
</providers>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
|
||||
<!-- 关闭状态日志 -->
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
|
||||
|
||||
Reference in New Issue
Block a user