按《参赛成果物提交规范·赛道一》§6 红线: - samples/ 目录改名 sample/(git mv,保留历史) - 10 个中日文样本文件 + docs 参赛手册 PDF 重命名为 ASCII (requirements_*/template_*/rules_*/contestant-handbook.pdf) - tests/test_zh_template.py 硬编码绝对路径 D:\00_project\Genesis 改为相对路径 - 全局更新 21 个活动文件引用;历史日志/审查文档不改(追加说明记录) 全量 pytest 431 passed / 99.15%
89 lines
3.3 KiB
XML
89 lines
3.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<configuration>
|
|
<!-- 应用名称 -->
|
|
<springProperty name="APP_NAME" scope="context" source="spring.application.name" defaultValue="trade-order"/>
|
|
<!-- 日志路径 -->
|
|
<property name="LOG_PATH" value="logs/${APP_NAME}"/>
|
|
<!-- 日志格式 -->
|
|
<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>
|
|
|
|
<!-- 文件输出 -->
|
|
<appender name="FILE_INFO" 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</fileNamePattern>
|
|
<maxFileSize>100MB</maxFileSize>
|
|
<maxHistory>30</maxHistory>
|
|
<totalSizeCap>10GB</totalSizeCap>
|
|
</rollingPolicy>
|
|
<encoder>
|
|
<pattern>${LOG_PATTERN}</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
<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>
|
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
<fileNamePattern>${LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
|
<maxFileSize>100MB</maxFileSize>
|
|
<maxHistory>30</maxHistory>
|
|
<totalSizeCap>10GB</totalSizeCap>
|
|
</rollingPolicy>
|
|
<encoder>
|
|
<pattern>${LOG_PATTERN}</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
|
<level>ERROR</level>
|
|
<onMatch>ACCEPT</onMatch>
|
|
<onMismatch>DENY</onMismatch>
|
|
</filter>
|
|
</appender>
|
|
|
|
<!-- 异步输出 -->
|
|
<appender name="ASYNC_FILE_INFO" class="ch.qos.logback.classic.AsyncAppender">
|
|
<discardingThreshold>0</discardingThreshold>
|
|
<queueSize>256</queueSize>
|
|
<appender-ref ref="FILE_INFO"/>
|
|
</appender>
|
|
|
|
<appender name="ASYNC_FILE_ERROR" class="ch.qos.logback.classic.AsyncAppender">
|
|
<discardingThreshold>0</discardingThreshold>
|
|
<queueSize>256</queueSize>
|
|
<appender-ref ref="FILE_ERROR"/>
|
|
</appender>
|
|
|
|
<!-- Spring Profile 相关配置 -->
|
|
<springProfile name="dev,test">
|
|
<logger name="com.stock.trade.order" level="DEBUG"/>
|
|
<root level="INFO">
|
|
<appender-ref ref="CONSOLE"/>
|
|
<appender-ref ref="ASYNC_FILE_INFO"/>
|
|
<appender-ref ref="ASYNC_FILE_ERROR"/>
|
|
</root>
|
|
</springProfile>
|
|
|
|
<springProfile name="prod">
|
|
<logger name="com.stock.trade.order" level="INFO"/>
|
|
<root level="INFO">
|
|
<appender-ref ref="CONSOLE"/>
|
|
<appender-ref ref="ASYNC_FILE_INFO"/>
|
|
<appender-ref ref="ASYNC_FILE_ERROR"/>
|
|
</root>
|
|
</springProfile>
|
|
|
|
</configuration> |