ソースを参照

修改日志2

yaoyi 1 週間 前
コミット
b554638d69
1 ファイル変更46 行追加69 行削除
  1. 46 69
      src/main/resources/logback.xml

+ 46 - 69
src/main/resources/logback.xml

@@ -1,92 +1,69 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false" >
-    <!--为了防止进程退出时,内存中的数据丢失,请加上此选项-->
+<configuration scan="false"  debug="true" >
     <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
-    <!-- 日志存放路径 -->
     <property name="log.path" value="logs" />
-    <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [traceId:%X{traceId}] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
     <springProperty scope="context" name="appName" source="spring.application.name" />
-    <!-- 控制台输出 -->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
             <pattern>${log.pattern}</pattern>
         </encoder>
     </appender>
 
-    <!--    <appender name="aliyun" class="com.aliyun.openservices.log.logback.LoghubAppender">-->
 
+    <!-- Info 日志文件 appender (仅在 appName 定义后启用) -->
+    <if condition='isDefined("appName")'>
+        <then>
+            <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+<!--                <file>${log.path}/${appName}.log</file>-->
+                <encoder>
+                    <charset>UTF-8</charset>
+                    <pattern>${log.pattern}</pattern>
+                </encoder>
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                    <fileNamePattern>${log.path}/${appName}.log.%d{yyyy-MM-dd}.log</fileNamePattern>
+                    <maxHistory>30</maxHistory>
+                </rollingPolicy>
+            </appender>
+        </then>
+    </if>
 
-    <!-- 系统日志输出 -->
-    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-<!--        <file>${log.path}/app.log</file>-->
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [traceId:%X{traceId}] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <!-- rollover daily and when the file reaches 100MB -->
-            <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/info.%i.log</fileNamePattern>
-            <maxFileSize>1MB</maxFileSize>
-            <maxHistory>30</maxHistory> <!-- keep 30 days' worth of history -->
-            <totalSizeCap>1GB</totalSizeCap> <!-- optional, limit the total size for all archive files -->
-        </rollingPolicy>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-<!--        <file>${log.path}/error.log</file>-->
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [traceId:%X{traceId}] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <!-- rollover daily and when the file reaches 100MB -->
-            <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/err.%i.log</fileNamePattern>
-            <maxFileSize>1MB</maxFileSize>
-            <maxHistory>30</maxHistory> <!-- keep 30 days' worth of history -->
-            <totalSizeCap>1GB</totalSizeCap> <!-- optional, limit the total size for all archive files -->
-        </rollingPolicy>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
+    <!-- Error 日志文件 appender (仅在 appName 定义后启用) -->
+    <if condition='isDefined("appName")'>
+        <then>
+            <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                    <!--日志文件输出的文件名-->
+                    <fileNamePattern>${log.path}/${appName}.error.log.%d{yyyy-MM-dd}.log</fileNamePattern>
+                    <!--日志文件保留天数-->
+                    <MaxHistory>30</MaxHistory>
+                </rollingPolicy>
+                <!-- 所有error日志都在这里-->
+                <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                    <level>ERROR</level>
+                    <onMatch>ACCEPT</onMatch>
+                    <onMismatch>DENY</onMismatch>
+                </filter>
+                <encoder>
+                    <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
+                    <pattern>${log.pattern}</pattern>
+                    <!-- 记录日志的编码 -->
+                    <charset>UTF-8</charset> <!-- 此处设置字符集 -->
+<!--                    <immediateFlush>true</immediateFlush>-->
+                </encoder>
+            </appender>
+        </then>
+    </if>
 
-    <!-- 系统模块日志级别控制  -->
     <logger name="com.hr" level="info" />
     <logger name="com.ruoyi" level="info" />
     <logger name="com.yy.basedevelop.common.config" level="info" />
-
-
-    <!-- Spring日志级别控制  -->
     <logger name="org.springframework" level="info" />
 
     <root level="info">
-        <appender-ref ref="console" />
+        <appender-ref ref="console"/>
+        <appender-ref ref="file_info"/>
+        <appender-ref ref="file_error"/>
     </root>
 
-    <!--系统操作日志-->
-    <root level="info">
-
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-
-<!--    <logger name="com.hr" additivity="true">-->
-<!--        <appender-ref ref="aliyun"/>-->
-<!--    </logger>-->
-
 </configuration>