|
@@ -1,92 +1,69 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?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"/>
|
|
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
|
|
|
- <!-- 日志存放路径 -->
|
|
|
|
|
<property name="log.path" value="logs" />
|
|
<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" />
|
|
<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" />
|
|
<springProperty scope="context" name="appName" source="spring.application.name" />
|
|
|
- <!-- 控制台输出 -->
|
|
|
|
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
<encoder>
|
|
<encoder>
|
|
|
<pattern>${log.pattern}</pattern>
|
|
<pattern>${log.pattern}</pattern>
|
|
|
</encoder>
|
|
</encoder>
|
|
|
</appender>
|
|
</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.hr" level="info" />
|
|
|
<logger name="com.ruoyi" level="info" />
|
|
<logger name="com.ruoyi" level="info" />
|
|
|
<logger name="com.yy.basedevelop.common.config" level="info" />
|
|
<logger name="com.yy.basedevelop.common.config" level="info" />
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <!-- Spring日志级别控制 -->
|
|
|
|
|
<logger name="org.springframework" level="info" />
|
|
<logger name="org.springframework" level="info" />
|
|
|
|
|
|
|
|
<root 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>
|
|
|
|
|
|
|
|
- <!--系统操作日志-->
|
|
|
|
|
- <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>
|
|
</configuration>
|