5 Commits

Author SHA1 Message Date
zhangjf
69556c047a feat: 日志目录使用INSTANCE_NAME区分多实例
问题:多实例部署时,APP_NAME相同导致日志互相覆盖
- 实例1: fund-sys (普通租户)
- 实例2: fund-sys-vip (VIP租户)
- 日志都写入 /datacfs/applogs/fund-sys/ 

修改:
- start.sh:
  - 添加 -Dapp.instance.name=${INSTANCE_NAME} 参数
  - 日志目录改为 ${LOG_HOME}/${INSTANCE_NAME}
- logback-spring.xml (9个服务):
  - APP_NAME source改为 app.instance.name
  - 默认值保持服务名用于fallback

效果:
- 实例1: /datacfs/applogs/fund-sys/info.log
- 实例2: /datacfs/applogs/fund-sys-vip/info.log 
2026-02-22 21:14:48 +08:00
zhangjf
ca1d0edd56 fix: 移除启动命令中的日志格式参数,避免shell解析错误
问题:
- LOG_PATTERN包含特殊字符(百分号、方括号等)
- 通过-D参数传递导致shell解析错误

修改:
- start.sh: 移除LOG_LEVEL_ROOT/LOG_LEVEL_APP/LOG_PATTERN参数
  只保留logging.file.path用于指定日志目录
- logback-spring.xml: 日志格式改为直接配置
  使用<property>而非<springProperty>
- env.properties: 更新注释说明日志配置由logback管理

优势:
- 启动命令简洁,无特殊字符解析问题
- 日志配置统一在logback-spring.xml管理
- 避免shell注入风险
2026-02-22 20:52:46 +08:00
zhangjf
faded43266 refactor: 统一日志配置到logback-spring.xml
- logback-spring.xml从环境变量读取日志级别和格式
- 移除各服务application.yml中的logging配置
- env.properties添加LOG_PATH、LOG_LEVEL_ROOT、LOG_LEVEL_APP参数
- 启动脚本start.sh传递日志相关JVM参数
- assembly.xml将env.properties打包到conf目录
2026-02-22 15:36:04 +08:00
zhangjf
9b3b3538c8 feat: API响应头增加traceId和spanId,日志记录spanId作为索引
- TraceContextHolder新增SpanId支持(16位短ID)
- ContextInterceptor在响应头返回X-Trace-Id和X-Span-Id
- 日志格式增加spanId:[traceId][spanId]
- JSON日志增加spanId字段用于ELK采集
- 日志输出示例:[abc123][def456] trace info
2026-02-20 11:48:09 +08:00
zhangjf
8e4afcd1a5 feat: TenantAwareLoadBalancer 整合 TenantRoutingProperties 配置
问题:TenantRoutingProperties 定义了配置但未被使用

解决方案:
1. TenantAwareLoadBalancer 注入 TenantRoutingProperties
   - 使用配置的 tenantHeader 名称
   - 使用配置的 buildTenantGroup 方法
   - 使用配置的 isSharedService 判断
   - 使用配置的 isFallbackToShared 策略

2. 新增功能
   - 支持 enabled=false 禁用租户路由
   - 共享服务跳过租户过滤
   - 可配置是否回退到共享实例

3. 更新测试适配新构造函数
2026-02-19 21:02:25 +08:00