소스 검색

引入 profiles, logback 会根据不同的 profile 将日志输出到不同的 stdout

reghao 2 년 전
부모
커밋
5f538a4390
3개의 변경된 파일42개의 추가작업 그리고 35개의 파일을 삭제
  1. 18 0
      oss-store/pom.xml
  2. 2 0
      oss-store/src/main/resources/application.yml
  3. 22 35
      oss-store/src/main/resources/logback-spring.xml

+ 18 - 0
oss-store/pom.xml

@@ -158,6 +158,24 @@
         </dependency>
     </dependencies>
 
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <properties>
+                <profile.active>dev</profile.active>
+            </properties>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>test</id>
+            <properties>
+                <profile.active>test</profile.active>
+            </properties>
+        </profile>
+    </profiles>
+
     <build>
         <finalName>oss-store</finalName>
         <resources>

+ 2 - 0
oss-store/src/main/resources/application.yml

@@ -18,6 +18,8 @@ spring:
       max-file-size: 20GB
   application:
     name: oss-store
+  profiles:
+    active: @profile.active@
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.zaxxer.hikari.HikariDataSource

+ 22 - 35
oss-store/src/main/resources/logback-spring.xml

@@ -9,48 +9,35 @@
         </layout>
     </appender>
 
-    <!-- info 日志文件 -->
-    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>DENY</onMatch>
-            <onMismatch>ACCEPT</onMismatch>
-        </filter>
-        <encoder>
+    <!-- 运行日志 -->
+    <appender name="runtimeLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <layout class="ch.qos.logback.classic.PatternLayout">
             <pattern>
-                %d{HH:mm:ss.SSS} %-5level %c %M %L - %msg%n
+                %d{HH:mm:ss.SSS} [%thread] %-5level %c %M %L - %msg%n
             </pattern>
-            <charset>UTF-8</charset>
-        </encoder>
+        </layout>
         <!-- 滚动策略 -->
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <fileNamePattern>
-                logs/info.%d.log
-            </fileNamePattern>
-        </rollingPolicy>
-    </appender>
-
-    <!-- error 日志文件 -->
-    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>ERROR</level>
-        </filter>
-        <encoder>
-            <pattern>
-                %d{HH:mm:ss.SSS} %-5level %c %M %L - %msg%n
-            </pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>
-                logs/error.%d.log
+                logs/oss-store.%d.log
             </fileNamePattern>
         </rollingPolicy>
     </appender>
 
-    <root level="info">
-        <!--<appender-ref ref="consoleLog"></appender-ref>-->
-        <appender-ref ref="fileInfoLog"></appender-ref>
-        <appender-ref ref="fileErrorLog"></appender-ref>
-    </root>
+    <!-- 根据 spring 的不同环境使用不同的日志配置 -->
+    <springProfile name="dev">
+        <root level="info">
+            <appender-ref ref="consoleLog"></appender-ref>
+        </root>
+    </springProfile>
+    <springProfile name="test">
+        <root level="info">
+            <appender-ref ref="runtimeLog"></appender-ref>
+        </root>
+    </springProfile>
+    <springProfile name="prod">
+        <root level="info">
+            <appender-ref ref="runtimeLog"></appender-ref>
+        </root>
+    </springProfile>
 </configuration>