<?xml version="1.0" encoding="UTF-8"?>
|
<Configuration status="WARN" monitorInterval="30">
|
<!-- 变量定义(对应原Logback的property) -->
|
<Properties>
|
<!-- 应用名称(从Spring环境变量获取,默认值同原配置) -->
|
<Property name="APP_NAME">${spring:spring.application.name:-fourierSpecialGasMonitor}</Property>
|
<!-- 日志格式 -->
|
<Property name="log.pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Property>
|
<!-- 日志路径 -->
|
<Property name="log.path">./logs</Property>
|
</Properties>
|
|
<!-- 输出源配置(对应原Logback的appender) -->
|
<Appenders>
|
<!-- 控制台输出 -->
|
<Console name="CONSOLE" target="SYSTEM_OUT">
|
<PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
|
</Console>
|
|
<!-- 主日志文件(INFO及以上级别,滚动策略) -->
|
<RollingFile name="FILE_MAIN" fileName="${log.path}/${APP_NAME}.log"
|
filePattern="${log.path}/${APP_NAME}-%d{yyyy-MM-dd}-%i.log">
|
<PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
|
<!-- 滚动策略(大小+时间) -->
|
<Policies>
|
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
<SizeBasedTriggeringPolicy size="100MB"/>
|
</Policies>
|
<!-- 保留策略 -->
|
<DefaultRolloverStrategy max="30">
|
<Delete basePath="${log.path}" maxDepth="1">
|
<IfFileName glob="${APP_NAME}-*.log"/>
|
<IfLastModified age="30d"/>
|
</Delete>
|
</DefaultRolloverStrategy>
|
</RollingFile>
|
|
<!-- SQL日志文件(DEBUG级别,滚动策略) -->
|
<RollingFile name="FILE_SQL" fileName="${log.path}/${APP_NAME}-sql.log"
|
filePattern="${log.path}/${APP_NAME}-sql-%d{yyyy-MM-dd}-%i.log">
|
<PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
|
<Policies>
|
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
<SizeBasedTriggeringPolicy size="50MB"/>
|
</Policies>
|
<DefaultRolloverStrategy max="7">
|
<Delete basePath="${log.path}" maxDepth="1">
|
<IfFileName glob="${APP_NAME}-sql-*.log"/>
|
<IfLastModified age="7d"/>
|
</Delete>
|
</DefaultRolloverStrategy>
|
</RollingFile>
|
|
<!-- 错误日志文件(仅ERROR级别) -->
|
<RollingFile name="FILE_ERROR" fileName="${log.path}/${APP_NAME}-error.log"
|
filePattern="${log.path}/${APP_NAME}-error-%d{yyyy-MM-dd}-%i.log">
|
<PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
|
<!-- 仅接受ERROR级别 -->
|
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
<Policies>
|
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
<SizeBasedTriggeringPolicy size="50MB"/>
|
</Policies>
|
<DefaultRolloverStrategy max="90">
|
<Delete basePath="${log.path}" maxDepth="1">
|
<IfFileName glob="${APP_NAME}-error-*.log"/>
|
<IfLastModified age="90d"/>
|
</Delete>
|
</DefaultRolloverStrategy>
|
</RollingFile>
|
</Appenders>
|
|
<!-- 日志器配置(对应原Logback的logger和root) -->
|
<Loggers>
|
<!-- Hibernate SQL日志(仅输出到SQL文件) -->
|
<Logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
|
<AppenderRef ref="FILE_SQL"/>
|
<!-- 若需在控制台显示SQL,添加此行:<AppenderRef ref="CONSOLE"/> -->
|
</Logger>
|
|
<!-- 其他框架日志级别控制 -->
|
<Logger name="org.springframework" level="INFO" additivity="false">
|
<AppenderRef ref="CONSOLE"/>
|
<AppenderRef ref="FILE_MAIN"/>
|
<AppenderRef ref="FILE_ERROR"/>
|
</Logger>
|
<Logger name="org.hibernate" level="INFO" additivity="false">
|
<AppenderRef ref="CONSOLE"/>
|
<AppenderRef ref="FILE_MAIN"/>
|
<AppenderRef ref="FILE_ERROR"/>
|
</Logger>
|
|
<!-- 自定义包日志级别(开发环境DEBUG) -->
|
<Logger name="org.com.gkhy" level="DEBUG" additivity="false">
|
<AppenderRef ref="CONSOLE"/>
|
<AppenderRef ref="FILE_MAIN"/>
|
<AppenderRef ref="FILE_ERROR"/>
|
</Logger>
|
|
<!-- 根日志(默认INFO级别) -->
|
<Root level="INFO">
|
<AppenderRef ref="CONSOLE"/>
|
<AppenderRef ref="FILE_MAIN"/>
|
<AppenderRef ref="FILE_ERROR"/>
|
</Root>
|
</Loggers>
|
</Configuration>
|