| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <!-- 定义日志文件的存储地址 -->
- <property name="LOG_PATH" value="logs"/>
- <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/>
- <!-- 控制台输出 -->
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- </appender>
- <!-- INFO 级别日志文件 -->
- <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_PATH}/info.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>NEUTRAL</onMismatch>
- </filter>
- <encoder>
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_PATH}/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <maxHistory>30</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- WARN 级别日志文件 -->
- <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_PATH}/warn.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>WARN</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <encoder>
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_PATH}/warn.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <maxHistory>30</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- ERROR 级别日志文件 -->
- <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_PATH}/error.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <encoder>
- <pattern>${LOG_PATTERN}</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <maxHistory>30</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- 异步输出配置 -->
- <appender name="ASYNC_INFO" class="ch.qos.logback.classic.AsyncAppender">
- <discardingThreshold>0</discardingThreshold>
- <queueSize>512</queueSize>
- <appender-ref ref="INFO_FILE"/>
- </appender>
- <appender name="ASYNC_WARN" class="ch.qos.logback.classic.AsyncAppender">
- <discardingThreshold>0</discardingThreshold>
- <queueSize>512</queueSize>
- <appender-ref ref="WARN_FILE"/>
- </appender>
- <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
- <discardingThreshold>0</discardingThreshold>
- <queueSize>512</queueSize>
- <appender-ref ref="ERROR_FILE"/>
- </appender>
- <!-- 开发环境配置 -->
- <springProfile name="dev">
- <root level="INFO">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="ASYNC_INFO"/>
- <appender-ref ref="ASYNC_WARN"/>
- <appender-ref ref="ASYNC_ERROR"/>
- </root>
- <logger name="com.poyee" level="DEBUG"/>
- <logger name="org.springframework.web" level="INFO"/>
- <logger name="org.mybatis" level="DEBUG"/>
- </springProfile>
- <!-- 测试环境配置 -->
- <springProfile name="test">
- <root level="INFO">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="ASYNC_INFO"/>
- <appender-ref ref="ASYNC_WARN"/>
- <appender-ref ref="ASYNC_ERROR"/>
- </root>
- <logger name="com.poyee" level="INFO"/>
- </springProfile>
- <!-- 生产环境配置 -->
- <springProfile name="prod">
- <root level="WARN">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="ASYNC_INFO"/>
- <appender-ref ref="ASYNC_WARN"/>
- <appender-ref ref="ASYNC_ERROR"/>
- </root>
- <logger name="com.poyee" level="INFO"/>
- </springProfile>
- <!-- 默认配置(无 profile 时) -->
- <springProfile name="!dev,!test,!prod">
- <root level="INFO">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="ASYNC_INFO"/>
- <appender-ref ref="ASYNC_WARN"/>
- <appender-ref ref="ASYNC_ERROR"/>
- </root>
- <logger name="com.poyee" level="DEBUG"/>
- </springProfile>
- </configuration>
|