From 78d9bcb5b20eac9c9a4a6f33dadef03b5c37c16f Mon Sep 17 00:00:00 2001 From: xiangning Date: Sun, 19 Jul 2026 13:18:33 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"diag:=20AddConsul=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E8=AF=BB=E9=85=8D=E7=BD=AE=E5=80=BC=EF=BC=8C=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=20Winton=20=E6=98=AF=E5=90=A6=E6=B3=A8=E5=85=A5=20IConfigurati?= =?UTF-8?q?on"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4883b44d33075cb12b46f97335e085f9ace0d25d. --- src/BuildFlow.Host/Program.cs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/BuildFlow.Host/Program.cs b/src/BuildFlow.Host/Program.cs index 9d05154..e79b51a 100644 --- a/src/BuildFlow.Host/Program.cs +++ b/src/BuildFlow.Host/Program.cs @@ -32,22 +32,19 @@ builder.Configuration.AddConsul( // 默认 ConvertConsulKVPairToConfig 把 Consul key 路径(去 buildflow/ 前缀,/ 转 :)作为 IConfiguration key, // 如 buildflow/Jwt:SigningKey → 配置 Jwt:SigningKey,value 直接是密钥字符串。 options.Parser = new SimpleConfigurationParser(); - options.Optional = false; // 诊断:Consul 必须可用,暴露真实问题 + options.Optional = false; // 诊断期:强制 Consul 必须可用,暴露真实错误 options.ReloadOnChange = true; // KV 变更自动刷新 IConfiguration(热重载基础) + // 诊断期:打印 Consul 加载异常(确认后改回 Ignore) options.OnLoadException = ex => { - // Consul 加载失败只告警不崩溃(本地开发/CI 可能无 Consul token) - Console.WriteLine($"[Consul] 加载异常(已忽略,回退本地配置): {ex.Exception?.Message}"); - ex.Ignore = true; + Console.WriteLine($"[Consul] 加载异常: {ex.Exception?.GetType().Name}: {ex.Exception?.Message}"); + Console.WriteLine($"[Consul] 堆栈: {ex.Exception?.StackTrace?.Substring(0, System.Math.Min(500, ex.Exception?.StackTrace?.Length ?? 0))}"); + ex.Ignore = false; // 不吞,让异常抛出 }; }); // OTel 日志导出 var otlpEndpoint = builder.Configuration["OpenTelemetry:OtlpEndpoint"] ?? "http://localhost:4316"; - -// ★ 诊断:AddConsul 之后立即读 KV 值,确认是否进入 IConfiguration(Build 前) -Console.WriteLine($"[DIAG] AddConsul后读 PollInterval={builder.Configuration["Monitoring:Scheduler:PollIntervalSeconds"]}(999=KV生效,60=本地)"); -Console.WriteLine($"[DIAG] Jwt:SigningKey={builder.Configuration["Jwt:SigningKey"]?[..10]}..."); builder.Logging.AddOpenTelemetry(logging => { logging.AddOtlpExporter(options => options.Endpoint = new Uri(otlpEndpoint)); @@ -60,9 +57,6 @@ builder.Services.AddHostObjectAccessors(); await builder.AddApplicationAsync(); var app = builder.Build(); -// ★ 诊断:Build 后再读一次(Winton Load 在 Build 时触发) -Console.WriteLine($"[DIAG] Build后读 PollInterval={app.Configuration["Monitoring:Scheduler:PollIntervalSeconds"]}"); -Console.WriteLine($"[DIAG] Build后读 SigningKey={app.Configuration["Jwt:SigningKey"]?[..10]}..."); await app.InitializeApplicationAsync(); // 启动期数据库初始化:迁移各库 + IM MongoDB 建索引 + 种子数据(单库失败不影响其他库)