Files
hospital-front/src/main/resources/logback.xml
T

84 lines
3.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<!--
Logback 配置(Solon 4.0.6 集成)
- 控制台:开发期实时输出
- info.log:业务日志(50MB/30天滚动)
- error.log:错误日志(独立)
- 异步 appender:高并发不阻塞业务
Step 8 将追加自定义 WebSocketAppender,用于实时日志推送至 B 端。
-->
<configuration debug="false" scan="true" scanPeriod="30 seconds">
<!-- 日志路径(可通过 -Dlog.path=xxx 覆盖) -->
<property name="LOG_PATH" value="${log.path:-./log}"/>
<!-- ==================== 控制台 ==================== -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger{40} - %msg%n</pattern>
</encoder>
</appender>
<!-- ==================== 业务日志 info.log ==================== -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/info.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>5GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] - %msg%n</pattern>
</encoder>
</appender>
<!-- ==================== 错误日志 error.log ==================== -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<!-- ==================== 异步包装(不阻塞业务) ==================== -->
<appender name="ASYNC_INFO" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>2048</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="INFO_FILE"/>
</appender>
<appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>1024</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="ERROR_FILE"/>
</appender>
<!-- ==================== 根日志 ==================== -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ASYNC_INFO"/>
<appender-ref ref="ASYNC_ERROR"/>
</root>
<!-- ==================== 框架级别 ==================== -->
<logger name="org.noear" level="WARN"/>
<logger name="org.springframework" level="WARN"/>
<logger name="com.baomidou.mybatisplus" level="WARN"/>
<logger name="org.mybatis" level="WARN"/>
<!-- ==================== 业务级别(开发期可改 DEBUG ==================== -->
<logger name="com.hospital.front" level="INFO"/>
</configuration>