2026-02-01 20:28:38.367 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 20:28:38.526 +08:00 [INF] Loading proxy data from config. 2026-02-01 20:28:38.538 +08:00 [INF] Starting YARP Gateway 2026-02-01 20:28:38.547 +08:00 [INF] Creating key {608f3e1e-2f33-4a15-9ede-21571a370d97} with creation date 2026-02-01 12:28:38Z, activation date 2026-02-01 12:28:38Z, and expiration date 2026-05-02 12:28:38Z. 2026-02-01 20:28:38.548 +08:00 [WRN] No XML encryptor configured. Key {608f3e1e-2f33-4a15-9ede-21571a370d97} may be persisted to storage in unencrypted form. 2026-02-01 20:28:38.549 +08:00 [INF] Writing data to file '/Users/movingsam/.aspnet/DataProtection-Keys/key-608f3e1e-2f33-4a15-9ede-21571a370d97.xml'. 2026-02-01 20:28:38.561 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 20:28:38.565 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 20:28:38.565 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 20:28:38.565 +08:00 [INF] Hosting environment: Development 2026-02-01 20:28:38.565 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 20:28:45.468 +08:00 [INF] Request starting HTTP/1.1 GET http://0.0.0.0:8080/ - null null 2026-02-01 20:28:45.491 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 20:28:45.492 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:28:45.493 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:28:45.494 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 20:28:45.498 +08:00 [INF] Request finished HTTP/1.1 GET http://0.0.0.0:8080/ - 503 0 null 30.4891ms 2026-02-01 20:28:49.620 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/ - null null 2026-02-01 20:28:49.622 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 20:28:49.623 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:28:49.623 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:28:49.623 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 20:28:49.624 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/ - 503 0 null 4.0712ms 2026-02-01 20:29:02.911 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/ - null null 2026-02-01 20:29:02.914 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 20:29:02.914 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:29:02.915 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:29:02.915 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 20:29:02.915 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/ - 503 0 null 3.9ms 2026-02-01 20:29:30.023 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:29:30.026 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:29:30.046 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:29:30.506 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 20:29:30.506 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:29:30.506 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 20:29:30.512 +08:00 [INF] Loaded 0 clusters from database 2026-02-01 20:29:30.512 +08:00 [INF] Loaded 0 routes from database 2026-02-01 20:29:30.518 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:29:30.527 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 480.0852ms 2026-02-01 20:29:30.527 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:29:30.528 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 505.1274ms 2026-02-01 20:29:30.748 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/favicon.ico - null null 2026-02-01 20:29:30.748 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 20:29:30.749 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:29:30.749 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:29:30.749 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 20:29:30.749 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/favicon.ico - 503 0 null 1.0967ms 2026-02-01 20:29:42.256 +08:00 [INF] Application is shutting down... 2026-02-01 20:49:15.886 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 20:49:16.066 +08:00 [INF] Loading proxy data from config. 2026-02-01 20:49:16.080 +08:00 [INF] Starting YARP Gateway 2026-02-01 20:49:16.102 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 20:49:16.105 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 20:49:16.106 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 20:49:16.106 +08:00 [INF] Hosting environment: Development 2026-02-01 20:49:16.106 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 20:49:41.074 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:49:41.087 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:41.105 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:49:41.639 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:49:41.639 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 20:49:41.645 +08:00 [INF] Loaded 0 clusters from database 2026-02-01 20:49:41.649 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:49:41.661 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 555.0812ms 2026-02-01 20:49:41.663 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:41.664 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 591.0773ms 2026-02-01 20:49:41.679 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 20:49:41.680 +08:00 [INF] Loaded 0 routes from database 2026-02-01 20:49:49.313 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:49:49.316 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:49.317 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:49:49.329 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:49:49.330 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:49:49.330 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 12.3257ms 2026-02-01 20:49:49.330 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:49.331 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 17.6625ms 2026-02-01 20:49:59.040 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:49:59.041 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:59.041 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:49:59.048 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:49:59.049 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:49:59.050 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 8.1249ms 2026-02-01 20:49:59.050 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:49:59.050 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 10.4396ms 2026-02-01 20:50:08.685 +08:00 [INF] Request starting HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:50:08.685 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 20:50:08.689 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:50:08.695 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 20:50:08.695 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 20:50:08.696 +08:00 [INF] Request finished HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants - 503 0 null 11.3412ms 2026-02-01 20:51:44.258 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:51:44.263 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:51:44.264 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:51:44.280 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:51:44.281 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:51:44.281 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 17.172ms 2026-02-01 20:51:44.282 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:51:44.282 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 24.3958ms 2026-02-01 20:52:31.061 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:52:31.063 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:52:31.063 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:52:31.070 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:52:31.071 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:52:31.072 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 8.8603ms 2026-02-01 20:52:31.073 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:52:31.076 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 11.8326ms 2026-02-01 20:53:25.683 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:53:25.686 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:53:25.686 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:53:25.706 +08:00 [INF] Executed DbCommand (12ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:53:25.707 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:53:25.710 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 23.3473ms 2026-02-01 20:53:25.752 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:53:25.756 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 69.8792ms 2026-02-01 20:55:24.569 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:55:24.621 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:24.631 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:55:24.676 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:55:24.676 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:55:24.677 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 45.3671ms 2026-02-01 20:55:24.678 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:24.678 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 110.0931ms 2026-02-01 20:55:36.183 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:55:36.184 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:36.184 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:55:36.196 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:55:36.197 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:55:36.197 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 13.3423ms 2026-02-01 20:55:36.198 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:36.198 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 15.0201ms 2026-02-01 20:55:47.693 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:55:47.693 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:47.694 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:55:47.701 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:55:47.703 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:55:47.706 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 11.9807ms 2026-02-01 20:55:47.706 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:55:47.707 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 14.045ms 2026-02-01 20:56:32.634 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:56:32.635 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:32.635 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:56:32.642 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:56:32.643 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:56:32.643 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.646ms 2026-02-01 20:56:32.643 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:32.644 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.6731ms 2026-02-01 20:56:35.189 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:56:35.189 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:35.190 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:56:35.194 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:56:35.195 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:56:35.196 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.898ms 2026-02-01 20:56:35.196 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:35.196 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.9241ms 2026-02-01 20:56:58.530 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 20:56:58.533 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:58.534 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 20:56:58.555 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 20:56:58.558 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 20:56:58.558 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 23.7127ms 2026-02-01 20:56:58.558 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 20:56:58.558 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 28.0375ms 2026-02-01 21:00:23.871 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:00:23.872 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:00:23.872 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:00:23.887 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:00:23.888 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:00:23.889 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 16.3404ms 2026-02-01 21:00:23.893 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:00:23.894 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 24.0711ms 2026-02-01 21:02:01.116 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:01.118 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:01.120 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:01.162 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:01.163 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:01.163 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 43.0102ms 2026-02-01 21:02:01.163 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:01.163 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 48.3748ms 2026-02-01 21:02:02.971 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:02.972 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:02.972 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:02.979 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:02.980 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:02.980 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 8.03ms 2026-02-01 21:02:02.980 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:02.981 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.244ms 2026-02-01 21:02:06.331 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:06.331 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:06.332 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:06.338 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:06.339 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:06.340 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.8184ms 2026-02-01 21:02:06.340 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:06.340 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.4572ms 2026-02-01 21:02:11.767 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:11.767 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:11.768 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:11.774 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:11.775 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:11.775 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.011ms 2026-02-01 21:02:11.775 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:11.775 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 7.786ms 2026-02-01 21:02:13.215 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:13.216 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:13.216 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:13.221 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:13.222 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:13.222 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.6281ms 2026-02-01 21:02:13.222 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:13.222 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.8845ms 2026-02-01 21:02:14.142 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:8080/api/gateway/reload - null 0 2026-02-01 21:02:14.143 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 21:02:14.154 +08:00 [INF] Route matched with {action = "ReloadConfig", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] ReloadConfig() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:14.166 +08:00 [INF] Executed DbCommand (9ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 21:02:14.167 +08:00 [INF] Loaded 0 routes from database 2026-02-01 21:02:14.174 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 21:02:14.174 +08:00 [INF] Loaded 0 clusters from database 2026-02-01 21:02:14.175 +08:00 [INF] Executing OkObjectResult, writing value of type '<>f__AnonymousType0`1[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]'. 2026-02-01 21:02:14.181 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway) in 27.4397ms 2026-02-01 21:02:14.181 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 21:02:14.182 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:8080/api/gateway/reload - 200 null application/json; charset=utf-8 39.1772ms 2026-02-01 21:02:20.366 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:02:20.366 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:20.366 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:02:20.371 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:02:20.372 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:02:20.374 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.9321ms 2026-02-01 21:02:20.375 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:02:20.375 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.3938ms 2026-02-01 21:03:51.216 +08:00 [INF] Application is shutting down... 2026-02-01 21:03:55.492 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 21:03:55.661 +08:00 [INF] Loading proxy data from config. 2026-02-01 21:03:55.672 +08:00 [INF] Starting YARP Gateway 2026-02-01 21:03:55.718 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 21:03:55.724 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 21:03:55.724 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 21:03:55.724 +08:00 [INF] Hosting environment: Development 2026-02-01 21:03:55.724 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 21:04:01.694 +08:00 [INF] Loading proxy data from config. 2026-02-01 21:04:42.773 +08:00 [INF] Application is shutting down... 2026-02-01 21:04:47.139 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 21:04:47.330 +08:00 [INF] Loading proxy data from config. 2026-02-01 21:04:47.346 +08:00 [INF] Starting YARP Gateway 2026-02-01 21:04:47.369 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 21:04:47.374 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 21:04:47.374 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 21:04:47.375 +08:00 [INF] Hosting environment: Development 2026-02-01 21:04:47.375 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 21:04:58.300 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:04:58.380 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:04:58.392 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:58.408 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:04:59.210 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 21:04:59.210 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 21:04:59.216 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:04:59.218 +08:00 [INF] Loaded 0 routes from database 2026-02-01 21:04:59.218 +08:00 [INF] Loaded 0 clusters from database 2026-02-01 21:04:59.221 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:04:59.239 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:04:59.240 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 829.6275ms 2026-02-01 21:04:59.240 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:04:59.241 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:59.241 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:59.242 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:04:59.243 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 947.8535ms 2026-02-01 21:04:59.247 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:04:59.247 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:04:59.248 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.222ms 2026-02-01 21:04:59.248 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:59.248 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 8.802ms 2026-02-01 21:04:59.331 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:04:59.332 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:04:59.333 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:59.333 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:04:59.339 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:04:59.342 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:04:59.342 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 8.9976ms 2026-02-01 21:04:59.343 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:04:59.343 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 12.6168ms 2026-02-01 21:05:08.512 +08:00 [INF] Request starting HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:05:08.512 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:08.513 +08:00 [INF] Request finished HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants - 204 null null 1.3091ms 2026-02-01 21:05:08.515 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:8080/api/gateway/tenants - application/json 47 2026-02-01 21:05:08.516 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:08.516 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateTenant (YarpGateway)' 2026-02-01 21:05:08.529 +08:00 [INF] Route matched with {action = "CreateTenant", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] CreateTenant(CreateTenantDto) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:05:08.574 +08:00 [INF] Executed DbCommand (19ms) [Parameters=[@__dto_TenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE t."TenantCode" = @__dto_TenantCode_0 LIMIT 1 2026-02-01 21:05:08.640 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[@p0='?' (DbType = Int64), @p1='?' (DbType = Int64), @p2='?' (DbType = DateTime), @p3='?' (DbType = Boolean), @p4='?' (DbType = Int32), @p5='?', @p6='?', @p7='?' (DbType = Int64), @p8='?' (DbType = DateTime), @p9='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] INSERT INTO "Tenants" ("Id", "CreatedBy", "CreatedTime", "IsDeleted", "Status", "TenantCode", "TenantName", "UpdatedBy", "UpdatedTime", "Version") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9); 2026-02-01 21:05:08.643 +08:00 [INF] Executing OkObjectResult, writing value of type 'YarpGateway.Models.GwTenant'. 2026-02-01 21:05:08.644 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.CreateTenant (YarpGateway) in 114.6718ms 2026-02-01 21:05:08.644 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateTenant (YarpGateway)' 2026-02-01 21:05:08.644 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 129.8694ms 2026-02-01 21:05:10.106 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:05:10.107 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:10.107 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:05:10.122 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:05:10.143 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:05:10.143 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:05:10.145 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 23.0227ms 2026-02-01 21:05:10.146 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:05:10.146 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 40.263ms 2026-02-01 21:05:53.153 +08:00 [INF] Request starting HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:05:53.154 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:53.154 +08:00 [INF] Request finished HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/tenants/1668/routes - 204 null null 0.8999ms 2026-02-01 21:05:53.156 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:8080/api/gateway/tenants/1668/routes - application/json 64 2026-02-01 21:05:53.156 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:53.156 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateRoute (YarpGateway)' 2026-02-01 21:05:53.164 +08:00 [INF] Route matched with {action = "CreateRoute", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] CreateRoute(System.String, CreateRouteDto) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:05:53.191 +08:00 [INF] Executed DbCommand (8ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE t."TenantCode" = @__tenantCode_0 LIMIT 1 2026-02-01 21:05:53.204 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."ClusterId" = @__clusterId_0 LIMIT 1 2026-02-01 21:05:53.244 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[@p0='?' (DbType = Int64), @p1='?', @p2='?' (DbType = Int64), @p3='?' (DbType = DateTime), @p4='?' (DbType = Boolean), @p5='?', @p6='?' (DbType = Int32), @p7='?', @p8='?' (DbType = Int32), @p9='?', @p10='?' (DbType = Int64), @p11='?' (DbType = DateTime), @p12='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] INSERT INTO "TenantRoutes" ("Id", "ClusterId", "CreatedBy", "CreatedTime", "IsDeleted", "PathPattern", "Priority", "ServiceName", "Status", "TenantCode", "UpdatedBy", "UpdatedTime", "Version") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12); 2026-02-01 21:05:53.251 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 21:05:53.252 +08:00 [INF] Loaded 1 routes from database 2026-02-01 21:05:53.252 +08:00 [INF] Executing OkObjectResult, writing value of type 'YarpGateway.Models.GwTenantRoute'. 2026-02-01 21:05:53.253 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.CreateRoute (YarpGateway) in 89.3866ms 2026-02-01 21:05:53.253 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateRoute (YarpGateway)' 2026-02-01 21:05:53.253 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 97.9256ms 2026-02-01 21:05:53.258 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:05:53.259 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:53.259 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:05:53.259 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:05:53.265 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:05:53.266 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:05:53.267 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 7.4562ms 2026-02-01 21:05:53.267 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:05:53.267 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 8.7162ms 2026-02-01 21:05:56.402 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:05:56.402 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:05:56.403 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:05:56.435 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:05:56.448 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:05:56.450 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:05:56.451 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 15.5198ms 2026-02-01 21:05:56.451 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:05:56.451 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 49.2768ms 2026-02-01 21:06:14.850 +08:00 [INF] Request starting HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:14.851 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:14.851 +08:00 [INF] Request finished HTTP/1.1 OPTIONS http://localhost:8080/api/gateway/clusters/1668-backend/instances - 204 null null 1.24ms 2026-02-01 21:06:14.853 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:8080/api/gateway/clusters/1668-backend/instances - application/json 73 2026-02-01 21:06:14.853 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:14.853 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway)' 2026-02-01 21:06:14.860 +08:00 [INF] Route matched with {action = "AddInstance", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] AddInstance(System.String, CreateInstanceDto) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:14.876 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__clusterId_0='?', @__dto_DestinationId_1='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND s."DestinationId" = @__dto_DestinationId_1 LIMIT 1 2026-02-01 21:06:14.902 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[@p0='?' (DbType = Int64), @p1='?', @p2='?', @p3='?' (DbType = Int64), @p4='?' (DbType = DateTime), @p5='?', @p6='?' (DbType = Int32), @p7='?' (DbType = Boolean), @p8='?' (DbType = Int32), @p9='?' (DbType = Int64), @p10='?' (DbType = DateTime), @p11='?' (DbType = Int32), @p12='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] INSERT INTO "ServiceInstances" ("Id", "Address", "ClusterId", "CreatedBy", "CreatedTime", "DestinationId", "Health", "IsDeleted", "Status", "UpdatedBy", "UpdatedTime", "Version", "Weight") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12); 2026-02-01 21:06:14.908 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 21:06:14.909 +08:00 [INF] Loaded 1 clusters from database 2026-02-01 21:06:14.909 +08:00 [INF] Executing OkObjectResult, writing value of type 'YarpGateway.Models.GwServiceInstance'. 2026-02-01 21:06:14.910 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway) in 50.4462ms 2026-02-01 21:06:14.910 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway)' 2026-02-01 21:06:14.910 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 57.6265ms 2026-02-01 21:06:14.914 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:14.914 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:14.914 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:14.915 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:14.918 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:06:14.919 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:14.919 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 4.0322ms 2026-02-01 21:06:14.919 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:14.919 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 4.7505ms 2026-02-01 21:06:17.150 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:06:17.150 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:17.151 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:17.151 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:17.156 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:06:17.161 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:17.162 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 10.6559ms 2026-02-01 21:06:17.162 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:17.163 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 12.4738ms 2026-02-01 21:06:19.111 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:06:19.111 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:19.111 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:19.111 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:19.117 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:06:19.120 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:19.120 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 8.9071ms 2026-02-01 21:06:19.121 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:19.121 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 9.9959ms 2026-02-01 21:06:20.175 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:20.175 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:20.175 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:20.175 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:20.189 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:06:20.189 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:20.190 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 14.274ms 2026-02-01 21:06:20.190 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:20.190 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 15.5078ms 2026-02-01 21:06:23.521 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:06:23.522 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:23.522 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:23.522 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:23.527 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:06:23.529 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:23.530 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.7563ms 2026-02-01 21:06:23.530 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:23.531 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.1482ms 2026-02-01 21:06:24.313 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:06:24.313 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:24.314 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:24.314 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:24.327 +08:00 [INF] Executed DbCommand (13ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:06:24.328 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:24.329 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 14.6627ms 2026-02-01 21:06:24.329 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:24.329 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 15.7096ms 2026-02-01 21:06:24.338 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:06:24.339 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:24.344 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:24.345 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:24.351 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:06:24.352 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:24.352 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 7.2453ms 2026-02-01 21:06:24.352 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:24.352 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 14.2265ms 2026-02-01 21:06:24.355 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:24.355 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:24.355 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:24.355 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:24.360 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:06:24.361 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:24.361 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 5.8417ms 2026-02-01 21:06:24.362 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:24.363 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 8.1657ms 2026-02-01 21:06:27.399 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:06:27.399 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:27.400 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:27.400 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:27.404 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:06:27.405 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:27.406 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.7784ms 2026-02-01 21:06:27.406 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:27.406 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 7.1823ms 2026-02-01 21:06:28.983 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:06:28.983 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:28.983 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:28.983 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:28.989 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:06:28.990 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:28.991 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.4782ms 2026-02-01 21:06:28.991 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:06:28.991 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 8.8219ms 2026-02-01 21:06:29.001 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:06:29.002 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:29.002 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:29.002 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:29.008 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:06:29.009 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:29.009 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 6.6596ms 2026-02-01 21:06:29.009 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:29.009 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 7.7495ms 2026-02-01 21:06:29.011 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:29.011 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:29.011 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:29.012 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:29.016 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:06:29.016 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:29.017 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 4.9486ms 2026-02-01 21:06:29.017 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:29.017 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 5.6986ms 2026-02-01 21:06:36.589 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:8080/api/gateway/reload - null 0 2026-02-01 21:06:36.590 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:36.590 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 21:06:36.606 +08:00 [INF] Route matched with {action = "ReloadConfig", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] ReloadConfig() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:36.640 +08:00 [INF] Executed DbCommand (26ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 21:06:36.641 +08:00 [INF] Loaded 1 routes from database 2026-02-01 21:06:36.660 +08:00 [INF] Executed DbCommand (17ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 21:06:36.661 +08:00 [INF] Loaded 1 clusters from database 2026-02-01 21:06:36.661 +08:00 [INF] Executing OkObjectResult, writing value of type '<>f__AnonymousType0`1[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]'. 2026-02-01 21:06:36.668 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway) in 61.9397ms 2026-02-01 21:06:36.668 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 21:06:36.669 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:8080/api/gateway/reload - 200 null application/json; charset=utf-8 79.8832ms 2026-02-01 21:06:36.674 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:06:36.674 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:36.675 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:36.675 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:36.686 +08:00 [INF] Executed DbCommand (8ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:06:36.688 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:36.688 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 13.2311ms 2026-02-01 21:06:36.688 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:06:36.688 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 14.6415ms 2026-02-01 21:06:36.693 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:06:36.693 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:06:36.693 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:36.694 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:06:36.699 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:06:36.700 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:06:36.701 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 6.8118ms 2026-02-01 21:06:36.701 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:06:36.701 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 7.9798ms 2026-02-01 21:13:26.437 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:13:26.440 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:26.440 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:26.441 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:26.478 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:13:26.479 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:26.479 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 38.2422ms 2026-02-01 21:13:26.479 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:26.479 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 42.6309ms 2026-02-01 21:13:28.393 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:13:28.394 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:28.394 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:28.394 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:28.405 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:13:28.406 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:28.406 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 11.854ms 2026-02-01 21:13:28.407 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:28.407 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 13.359ms 2026-02-01 21:13:31.010 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:13:31.010 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:31.011 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:31.011 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:31.015 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:13:31.016 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:31.016 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.5402ms 2026-02-01 21:13:31.016 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:31.017 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.5055ms 2026-02-01 21:13:33.878 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:13:33.878 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:33.879 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:33.879 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:33.884 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:13:33.885 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:33.885 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 5.7937ms 2026-02-01 21:13:33.885 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:33.886 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 7.3867ms 2026-02-01 21:13:34.998 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:13:34.998 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:34.998 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:13:34.999 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:35.003 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:13:35.004 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:35.004 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 5.6441ms 2026-02-01 21:13:35.005 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:13:35.005 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 6.7441ms 2026-02-01 21:13:40.963 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:13:40.964 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:40.964 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:40.964 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:40.970 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:13:40.971 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:40.971 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 6.8734ms 2026-02-01 21:13:40.971 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:13:40.972 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 8.4311ms 2026-02-01 21:13:41.818 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:13:41.818 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:13:41.819 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:41.819 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:13:41.824 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:13:41.825 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:13:41.825 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 6.3963ms 2026-02-01 21:13:41.826 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:13:41.826 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 8.1552ms 2026-02-01 21:14:14.883 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:14:14.884 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:14:14.884 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:14:14.884 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:14:14.891 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:14:14.892 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:14:14.893 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 8.6189ms 2026-02-01 21:14:14.893 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:14:14.894 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 10.1815ms 2026-02-01 21:14:14.901 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 21:14:14.902 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:14:14.902 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:14:14.903 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:14:14.908 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 21:14:14.909 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:14:14.909 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 6.047ms 2026-02-01 21:14:14.909 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 21:14:14.909 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 7.7971ms 2026-02-01 21:14:14.911 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 21:14:14.911 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:14:14.911 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:14:14.911 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:14:14.916 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 21:14:14.917 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:14:14.917 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 5.5654ms 2026-02-01 21:14:14.917 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 21:14:14.917 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 6.8468ms 2026-02-01 21:14:15.476 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 21:14:15.477 +08:00 [INF] CORS policy execution successful. 2026-02-01 21:14:15.477 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:14:15.477 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 21:14:15.482 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 21:14:15.483 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 21:14:15.483 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 6.0338ms 2026-02-01 21:14:15.483 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 21:14:15.484 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 7.183ms 2026-02-01 21:24:38.446 +08:00 [INF] Application is shutting down... 2026-02-01 22:03:24.445 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:03:24.605 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:03:48.070 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:03:48.232 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:04:34.173 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:04:34.333 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:04:34.365 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:04:34.801 +08:00 [ERR] Failed executing DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:04:34.809 +08:00 [ERR] An exception occurred while iterating over the results of a query for context type 'YarpGateway.Data.GatewayDbContext'. Npgsql.PostgresException (0x80004005): 42703: column t.IsGlobal does not exist POSITION: 78 at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync() Exception data: Severity: ERROR SqlState: 42703 MessageText: column t.IsGlobal does not exist Position: 78 File: parse_relation.c Line: 3822 Routine: errorMissingColumn Npgsql.PostgresException (0x80004005): 42703: column t.IsGlobal does not exist POSITION: 78 at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync() Exception data: Severity: ERROR SqlState: 42703 MessageText: column t.IsGlobal does not exist Position: 78 File: parse_relation.c Line: 3822 Routine: errorMissingColumn 2026-02-01 22:06:29.393 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:06:29.561 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:06:29.594 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:06:30.039 +08:00 [ERR] Failed executing DbCommand (11ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:06:30.047 +08:00 [ERR] An exception occurred while iterating over the results of a query for context type 'YarpGateway.Data.GatewayDbContext'. Npgsql.PostgresException (0x80004005): 42703: column t.IsGlobal does not exist POSITION: 78 at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync() Exception data: Severity: ERROR SqlState: 42703 MessageText: column t.IsGlobal does not exist Position: 78 File: parse_relation.c Line: 3822 Routine: errorMissingColumn Npgsql.PostgresException (0x80004005): 42703: column t.IsGlobal does not exist POSITION: 78 at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync() Exception data: Severity: ERROR SqlState: 42703 MessageText: column t.IsGlobal does not exist Position: 78 File: parse_relation.c Line: 3822 Routine: errorMissingColumn 2026-02-01 22:06:49.708 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:06:49.873 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:06:49.897 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:06:50.321 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:06:50.359 +08:00 [INF] Route cache initialized: 0 global routes, 1 tenant routes 2026-02-01 22:06:50.359 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:06:50.376 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:06:50.377 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 22:06:50.377 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 22:06:50.377 +08:00 [INF] Hosting environment: Development 2026-02-01 22:06:50.377 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 22:06:58.544 +08:00 [INF] Application is shutting down... 2026-02-01 22:07:12.683 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:07:12.845 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:07:12.873 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:07:13.307 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:07:13.344 +08:00 [INF] Route cache initialized: 0 global routes, 1 tenant routes 2026-02-01 22:07:13.344 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:07:13.360 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:07:13.361 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 22:07:13.361 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 22:07:13.361 +08:00 [INF] Hosting environment: Development 2026-02-01 22:07:13.362 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 22:07:19.889 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/ - null null 2026-02-01 22:07:19.900 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 22:07:19.901 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:19.901 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:19.902 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 22:07:19.902 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/ - 503 0 null 14.2547ms 2026-02-01 22:07:23.258 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes - null null 2026-02-01 22:07:23.259 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 22:07:23.259 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:23.259 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:23.259 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 22:07:23.259 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes - 503 0 null 1.7208ms 2026-02-01 22:07:32.615 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - null null 2026-02-01 22:07:32.617 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 22:07:32.617 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:32.617 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:32.617 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 22:07:32.617 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - 503 0 null 1.5037ms 2026-02-01 22:07:34.387 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - null null 2026-02-01 22:07:34.387 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 22:07:34.387 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:34.387 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:07:34.387 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 22:07:34.387 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - 503 0 null 0.4997ms 2026-02-01 22:11:38.559 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/tenants - null null 2026-02-01 22:11:38.560 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:11:38.567 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:11:38.589 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:11:38.589 +08:00 [INF] Loaded 1 routes from database 2026-02-01 22:11:38.605 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:11:38.612 +08:00 [INF] Loaded 1 clusters from database 2026-02-01 22:11:38.632 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:11:38.640 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:11:38.651 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 82.7537ms 2026-02-01 22:11:38.651 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:11:38.651 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 91.9911ms 2026-02-01 22:11:43.971 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - null null 2026-02-01 22:11:43.971 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:11:43.974 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:11:43.980 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:11:43.980 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:11:43.982 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 8.1183ms 2026-02-01 22:11:43.982 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:11:43.982 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 11.0256ms 2026-02-01 22:11:46.387 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - null null 2026-02-01 22:11:46.387 +08:00 [INF] Executing endpoint 'catch-all-route' 2026-02-01 22:11:46.387 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:11:46.387 +08:00 [WRN] No available destinations after load balancing for cluster 'dynamic-cluster'. 2026-02-01 22:11:46.387 +08:00 [INF] Executed endpoint 'catch-all-route' 2026-02-01 22:11:46.387 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - 503 0 null 0.282ms 2026-02-01 22:12:03.947 +08:00 [INF] Loading proxy data from config. 2026-02-01 22:12:36.795 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - null null 2026-02-01 22:12:36.795 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - 404 0 null 0.4624ms 2026-02-01 22:12:36.795 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/gateway/routes, Response status code: 404 2026-02-01 22:12:38.943 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - null null 2026-02-01 22:12:38.943 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes - 404 0 null 0.5529ms 2026-02-01 22:12:38.943 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/gateway/routes, Response status code: 404 2026-02-01 22:12:48.629 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - null null 2026-02-01 22:12:48.630 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:12:48.630 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:12:48.634 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:12:48.635 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:12:48.635 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.8835ms 2026-02-01 22:12:48.635 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:12:48.635 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 5.3341ms 2026-02-01 22:13:08.032 +08:00 [INF] Request starting HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/routes/global - application/json 93 2026-02-01 22:13:08.032 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateGlobalRoute (YarpGateway)' 2026-02-01 22:13:08.036 +08:00 [INF] Route matched with {action = "CreateGlobalRoute", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] CreateGlobalRoute(CreateGlobalRouteDto) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:13:08.055 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[@__dto_ServiceName_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."ServiceName" = @__dto_ServiceName_0 AND t."IsGlobal" LIMIT 1 2026-02-01 22:13:08.094 +08:00 [INF] Executed DbCommand (9ms) [Parameters=[@p0='?' (DbType = Int64), @p1='?', @p2='?' (DbType = Int64), @p3='?' (DbType = DateTime), @p4='?' (DbType = Boolean), @p5='?' (DbType = Boolean), @p6='?', @p7='?' (DbType = Int32), @p8='?', @p9='?' (DbType = Int32), @p10='?', @p11='?' (DbType = Int64), @p12='?' (DbType = DateTime), @p13='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] INSERT INTO "TenantRoutes" ("Id", "ClusterId", "CreatedBy", "CreatedTime", "IsDeleted", "IsGlobal", "PathPattern", "Priority", "ServiceName", "Status", "TenantCode", "UpdatedBy", "UpdatedTime", "Version") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13); 2026-02-01 22:13:08.097 +08:00 [INF] Reloading route cache... 2026-02-01 22:13:08.101 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:13:08.102 +08:00 [INF] Route cache reloaded 2026-02-01 22:13:08.102 +08:00 [INF] Executing OkObjectResult, writing value of type 'YarpGateway.Models.GwTenantRoute'. 2026-02-01 22:13:08.102 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.CreateGlobalRoute (YarpGateway) in 66.3013ms 2026-02-01 22:13:08.102 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.CreateGlobalRoute (YarpGateway)' 2026-02-01 22:13:08.102 +08:00 [INF] Request finished HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 70.5429ms 2026-02-01 22:13:10.304 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - null null 2026-02-01 22:13:10.304 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:13:10.304 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:13:10.308 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:13:10.308 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:13:10.309 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.2081ms 2026-02-01 22:13:10.309 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:13:10.309 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 4.4907ms 2026-02-01 22:13:51.464 +08:00 [INF] Request starting HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/clusters/product-cluster/instances - application/json 79 2026-02-01 22:13:51.465 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway)' 2026-02-01 22:13:51.467 +08:00 [INF] Route matched with {action = "AddInstance", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] AddInstance(System.String, CreateInstanceDto) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:13:51.476 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__clusterId_0='?', @__dto_DestinationId_1='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND s."DestinationId" = @__dto_DestinationId_1 LIMIT 1 2026-02-01 22:13:51.486 +08:00 [INF] Executed DbCommand (8ms) [Parameters=[@p0='?' (DbType = Int64), @p1='?', @p2='?', @p3='?' (DbType = Int64), @p4='?' (DbType = DateTime), @p5='?', @p6='?' (DbType = Int32), @p7='?' (DbType = Boolean), @p8='?' (DbType = Int32), @p9='?' (DbType = Int64), @p10='?' (DbType = DateTime), @p11='?' (DbType = Int32), @p12='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] INSERT INTO "ServiceInstances" ("Id", "Address", "ClusterId", "CreatedBy", "CreatedTime", "DestinationId", "Health", "IsDeleted", "Status", "UpdatedBy", "UpdatedTime", "Version", "Weight") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12); 2026-02-01 22:13:51.490 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:13:51.490 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:13:51.490 +08:00 [INF] Executing OkObjectResult, writing value of type 'YarpGateway.Models.GwServiceInstance'. 2026-02-01 22:13:51.491 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway) in 23.8754ms 2026-02-01 22:13:51.491 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.AddInstance (YarpGateway)' 2026-02-01 22:13:51.491 +08:00 [INF] Request finished HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/clusters/product-cluster/instances - 200 null application/json; charset=utf-8 26.9521ms 2026-02-01 22:14:14.187 +08:00 [INF] Request starting HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/reload - null null 2026-02-01 22:14:14.188 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 22:14:14.190 +08:00 [INF] Route matched with {action = "ReloadConfig", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] ReloadConfig() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:14:14.190 +08:00 [INF] Reloading route cache... 2026-02-01 22:14:14.194 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:14:14.194 +08:00 [INF] Route cache reloaded 2026-02-01 22:14:14.200 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:14:14.200 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:14:14.204 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:14:14.204 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:14:14.204 +08:00 [INF] Executing OkObjectResult, writing value of type '<>f__AnonymousType0`1[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]'. 2026-02-01 22:14:14.205 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway) in 15.273ms 2026-02-01 22:14:14.205 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.ReloadConfig (YarpGateway)' 2026-02-01 22:14:14.205 +08:00 [INF] Request finished HTTP/1.1 POST http://127.0.0.1:8080/api/gateway/reload - 200 null application/json; charset=utf-8 18.1485ms 2026-02-01 22:14:17.161 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - null null 2026-02-01 22:14:17.161 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - 404 0 null 0.1455ms 2026-02-01 22:14:17.161 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/product/test, Response status code: 404 2026-02-01 22:14:32.651 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/clusters/product-cluster/instances - null null 2026-02-01 22:14:32.651 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:14:32.654 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:14:32.660 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:14:32.660 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:14:32.660 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 6.4256ms 2026-02-01 22:14:32.660 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:14:32.660 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/clusters/product-cluster/instances - 200 null application/json; charset=utf-8 9.4366ms 2026-02-01 22:16:32.786 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - null null 2026-02-01 22:16:32.786 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:16:32.786 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:16:32.791 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:16:32.791 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:16:32.791 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.1332ms 2026-02-01 22:16:32.791 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:16:32.792 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 5.8393ms 2026-02-01 22:16:35.327 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - null null 2026-02-01 22:16:35.327 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - 404 0 null 0.1327ms 2026-02-01 22:16:35.327 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/product/test, Response status code: 404 2026-02-01 22:17:17.995 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - null null 2026-02-01 22:17:17.995 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - 404 0 null 0.7272ms 2026-02-01 22:17:17.996 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/product/test, Response status code: 404 ", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:16:37.617 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:16:37.618 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:16:37.654 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:16:37.654 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:16:37.656 +08:00 [INF] Route cache initialized: 1 global routes, 1 tenant routes 2026-02-01 22:16:37.656 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:16:37.670 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:16:37.672 +08:00 [ERR] Hosting failed to start System.IO.IOException: Failed to bind to address http://0.0.0.0:8080: address already in use. ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use ---> System.Net.Sockets.SocketException (48): Address already in use at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken) at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.b__14_1(IHostedService service, CancellationToken token) at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation) 2026-02-01 22:17:21.898 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:17:22.466 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:17:22.492 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:17:22.492 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:17:22.498 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:17:22.529 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:17:22.529 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:17:22.531 +08:00 [INF] Route cache initialized: 1 global routes, 1 tenant routes 2026-02-01 22:17:22.531 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:17:22.545 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:17:22.547 +08:00 [ERR] Hosting failed to start System.IO.IOException: Failed to bind to address http://0.0.0.0:8080: address already in use. ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use ---> System.Net.Sockets.SocketException (48): Address already in use at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken) at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.b__14_1(IHostedService service, CancellationToken token) at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation) 2026-02-01 22:17:49.266 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:17:49.839 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:17:49.863 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:17:49.863 +08:00 [INF] Executed DbCommand (10ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:17:49.867 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:17:49.902 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:17:49.902 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:17:49.903 +08:00 [INF] Route cache initialized: 1 global routes, 1 tenant routes 2026-02-01 22:17:49.903 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:17:49.918 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:17:49.919 +08:00 [ERR] Hosting failed to start System.IO.IOException: Failed to bind to address http://0.0.0.0:8080: address already in use. ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use ---> System.Net.Sockets.SocketException (48): Address already in use at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken) at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.b__14_1(IHostedService service, CancellationToken token) at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation) 2026-02-01 22:18:29.315 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:18:29.898 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:18:29.922 +08:00 [INF] Executed DbCommand (9ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:18:29.922 +08:00 [INF] Executed DbCommand (9ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:18:29.930 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:18:29.959 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:18:29.959 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:18:29.961 +08:00 [INF] Route cache initialized: 1 global routes, 1 tenant routes 2026-02-01 22:18:29.961 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:18:29.975 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:18:29.977 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 22:18:29.977 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 22:18:29.977 +08:00 [INF] Hosting environment: Development 2026-02-01 22:18:29.977 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 22:19:00.199 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - null null 2026-02-01 22:19:00.212 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - 404 0 null 13.5757ms 2026-02-01 22:19:00.215 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/product/test, Response status code: 404 2026-02-01 22:19:01.451 +08:00 [INF] Request starting HTTP/1.1 GET http://0.0.0.0:8080/ - null null 2026-02-01 22:19:01.453 +08:00 [INF] Request finished HTTP/1.1 GET http://0.0.0.0:8080/ - 404 0 null 1.7052ms 2026-02-01 22:19:01.454 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://0.0.0.0:8080/, Response status code: 404 2026-02-01 22:19:07.472 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/ - null null 2026-02-01 22:19:07.474 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/ - 404 0 null 1.3807ms 2026-02-01 22:19:07.474 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:8080/, Response status code: 404 2026-02-01 22:19:10.624 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:19:10.626 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:19:10.636 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:19:10.646 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:19:10.657 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:19:10.669 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 31.0448ms 2026-02-01 22:19:10.669 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:19:10.670 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 45.8155ms 2026-02-01 22:19:10.873 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/favicon.ico - null null 2026-02-01 22:19:10.874 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/favicon.ico - 404 0 null 0.4219ms 2026-02-01 22:19:10.874 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:8080/favicon.ico, Response status code: 404 icrosoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken) at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.b__14_1(IHostedService service, CancellationToken token) at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation) 2026-02-01 22:20:22.965 +08:00 [INF] User profile is available. Using '/Users/movingsam/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-02-01 22:20:23.632 +08:00 [INF] Initializing route cache from database... 2026-02-01 22:20:23.651 +08:00 [INF] Executed DbCommand (9ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:20:23.651 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT s."ClusterId", s."Id", s."Address", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."Status" = 1 AND NOT (s."IsDeleted") ORDER BY s."ClusterId" 2026-02-01 22:20:23.662 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."Status" = 1 AND NOT (t."IsDeleted") 2026-02-01 22:20:23.688 +08:00 [INF] Loaded 2 routes from database 2026-02-01 22:20:23.688 +08:00 [INF] Loaded 2 clusters from database 2026-02-01 22:20:23.689 +08:00 [INF] Route cache initialized: 1 global routes, 1 tenant routes 2026-02-01 22:20:23.690 +08:00 [INF] Starting YARP Gateway 2026-02-01 22:20:23.705 +08:00 [WRN] Overriding address(es) 'http://localhost:5046'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead. 2026-02-01 22:20:23.706 +08:00 [INF] Now listening on: http://0.0.0.0:8080 2026-02-01 22:20:23.707 +08:00 [INF] Application started. Press Ctrl+C to shut down. 2026-02-01 22:20:23.707 +08:00 [INF] Hosting environment: Development 2026-02-01 22:20:23.707 +08:00 [INF] Content root path: /Users/movingsam/Fengling.Refactory.Buiding/src/YarpGateway 2026-02-01 22:20:29.093 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/tenants - null null 2026-02-01 22:20:29.106 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:20:29.111 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:20:29.119 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:20:29.126 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:20:29.138 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 25.8851ms 2026-02-01 22:20:29.139 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:20:29.140 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 47.3449ms 2026-02-01 22:20:35.542 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - null null 2026-02-01 22:20:35.543 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:20:35.546 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:20:35.553 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:20:35.554 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:20:35.557 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 10.873ms 2026-02-01 22:20:35.557 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:20:35.557 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 14.4363ms 2026-02-01 22:21:01.471 +08:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - null null 2026-02-01 22:21:01.473 +08:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:8080/api/product/test - 404 0 null 1.7851ms 2026-02-01 22:21:01.474 +08:00 [INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://127.0.0.1:8080/api/product/test, Response status code: 404 2026-02-01 22:21:10.880 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:21:10.882 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:21:10.882 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:10.882 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:21:10.888 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:21:10.888 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:21:10.889 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 6.5091ms 2026-02-01 22:21:10.889 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:10.889 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.3552ms 2026-02-01 22:21:12.638 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:21:12.639 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:21:12.640 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:12.641 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:21:12.647 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:21:12.648 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:21:12.648 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.2865ms 2026-02-01 22:21:12.649 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:12.650 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 11.8347ms 2026-02-01 22:21:12.653 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 22:21:12.654 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:21:12.654 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:21:12.666 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:21:12.689 +08:00 [INF] Executed DbCommand (11ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 22:21:12.689 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:21:12.689 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 23.2372ms 2026-02-01 22:21:12.690 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:21:12.690 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 36.4262ms 2026-02-01 22:21:12.691 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 22:21:12.691 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:21:12.691 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:21:12.694 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:21:12.704 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:21:12.706 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:21:12.707 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 12.8864ms 2026-02-01 22:21:12.707 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:21:12.707 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 16.0741ms 2026-02-01 22:21:13.505 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:21:13.506 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:21:13.507 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:13.507 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:21:13.515 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:21:13.516 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:21:13.516 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 9.397ms 2026-02-01 22:21:13.516 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:21:13.517 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 11.5291ms 2026-02-01 22:25:30.498 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:25:30.498 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:25:30.498 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:25:30.498 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:25:30.533 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:25:30.534 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:25:30.535 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 36.8297ms 2026-02-01 22:25:30.535 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:25:30.535 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 37.6909ms 2026-02-01 22:26:22.245 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:26:22.245 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:26:22.245 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:26:22.245 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:26:22.249 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:26:22.250 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:26:22.250 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.209ms 2026-02-01 22:26:22.251 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:26:22.251 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.6294ms 2026-02-01 22:31:41.925 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:31:41.926 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:41.926 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:41.926 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:41.958 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:31:41.958 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:41.958 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 31.8244ms 2026-02-01 22:31:41.958 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:41.958 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 32.8773ms 2026-02-01 22:31:43.595 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:31:43.595 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:43.595 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:43.596 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:43.604 +08:00 [INF] Executed DbCommand (7ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:31:43.605 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:43.605 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 9.008ms 2026-02-01 22:31:43.605 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:43.606 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 10.8715ms 2026-02-01 22:31:44.652 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:31:44.652 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:44.652 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:44.652 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:44.657 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:31:44.657 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:44.657 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.4168ms 2026-02-01 22:31:44.658 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:44.658 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 6.1249ms 2026-02-01 22:31:46.251 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:31:46.251 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:46.251 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:46.251 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:46.256 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:31:46.257 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:46.257 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.5403ms 2026-02-01 22:31:46.257 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:46.257 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.5585ms 2026-02-01 22:31:46.745 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:31:46.746 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:46.746 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:46.746 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:46.751 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:31:46.752 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:46.752 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.6117ms 2026-02-01 22:31:46.752 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:46.752 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 6.6457ms 2026-02-01 22:31:48.657 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/product-cluster/instances - null null 2026-02-01 22:31:48.657 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:48.658 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:31:48.659 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:48.666 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:31:48.666 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:48.666 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 7.116ms 2026-02-01 22:31:48.666 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:31:48.666 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/product-cluster/instances - 200 null application/json; charset=utf-8 9.4147ms 2026-02-01 22:31:49.924 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:31:49.925 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:49.925 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:49.925 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:49.930 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:31:49.930 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:49.931 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.2451ms 2026-02-01 22:31:49.931 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:49.931 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.2486ms 2026-02-01 22:31:51.612 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:31:51.612 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:51.612 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:51.612 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:51.617 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:31:51.617 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:51.618 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.4269ms 2026-02-01 22:31:51.618 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:51.618 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 6.0851ms 2026-02-01 22:31:51.951 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:31:51.952 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:51.952 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:51.952 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:51.957 +08:00 [INF] Executed DbCommand (5ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:31:51.958 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:51.958 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 6.4318ms 2026-02-01 22:31:51.960 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:31:51.961 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 9.0549ms 2026-02-01 22:31:54.041 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 22:31:54.041 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:54.042 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:31:54.042 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:54.047 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 22:31:54.047 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:54.047 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 5.2779ms 2026-02-01 22:31:54.047 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:31:54.047 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 6.3321ms 2026-02-01 22:31:55.255 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 22:31:55.255 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:55.256 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:31:55.256 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:55.261 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:31:55.261 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:55.262 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 5.9988ms 2026-02-01 22:31:55.262 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:31:55.262 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 6.751ms 2026-02-01 22:31:56.595 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:31:56.595 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:31:56.595 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:56.595 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:31:56.600 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:31:56.600 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:31:56.601 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.0439ms 2026-02-01 22:31:56.601 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:31:56.601 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 6.1072ms 2026-02-01 22:32:01.664 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/product-cluster/instances - null null 2026-02-01 22:32:01.664 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:01.664 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:01.664 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:01.668 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:32:01.669 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:01.669 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 4.9407ms 2026-02-01 22:32:01.669 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:01.670 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/product-cluster/instances - 200 null application/json; charset=utf-8 5.639ms 2026-02-01 22:32:04.216 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:04.216 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:04.216 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:04.217 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:04.222 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:04.222 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:04.223 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.4752ms 2026-02-01 22:32:04.223 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:04.223 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.7163ms 2026-02-01 22:32:04.591 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:04.591 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:04.591 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:04.591 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:04.595 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:04.595 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:04.596 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.5298ms 2026-02-01 22:32:04.596 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:04.596 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 5.4523ms 2026-02-01 22:32:12.562 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:12.562 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:12.562 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:12.563 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:12.568 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:12.568 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:12.569 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 6.2462ms 2026-02-01 22:32:12.569 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:12.569 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 7.22ms 2026-02-01 22:32:13.960 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 22:32:13.960 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:13.960 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:13.960 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:13.965 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 22:32:13.965 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:13.966 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 5.5422ms 2026-02-01 22:32:13.966 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:13.966 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 6.2859ms 2026-02-01 22:32:17.041 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 22:32:17.041 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:17.041 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:17.041 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:17.046 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:32:17.046 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:17.047 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 5.0143ms 2026-02-01 22:32:17.047 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:17.047 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 5.7629ms 2026-02-01 22:32:21.920 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:21.920 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:21.921 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:21.921 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:21.925 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:21.925 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:21.925 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.7163ms 2026-02-01 22:32:21.926 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:21.926 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 5.3019ms 2026-02-01 22:32:24.298 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:24.298 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:24.298 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:24.298 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:24.303 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:24.303 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:24.304 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.0583ms 2026-02-01 22:32:24.304 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:24.304 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 6.0625ms 2026-02-01 22:32:24.762 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:24.762 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:24.762 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:24.762 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:24.768 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:24.768 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:24.769 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 6.0394ms 2026-02-01 22:32:24.769 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:24.769 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 6.762ms 2026-02-01 22:32:25.372 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:25.373 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:25.373 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:25.373 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:25.379 +08:00 [INF] Executed DbCommand (6ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:25.380 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:25.380 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 7.209ms 2026-02-01 22:32:25.380 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:25.380 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 7.8575ms 2026-02-01 22:32:25.383 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:25.384 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:25.384 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:25.384 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:25.387 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:25.388 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:25.388 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.2493ms 2026-02-01 22:32:25.388 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:25.388 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 4.7142ms 2026-02-01 22:32:25.389 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 22:32:25.389 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:25.390 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:25.390 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:25.394 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 22:32:25.394 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:25.394 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 4.3996ms 2026-02-01 22:32:25.394 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:25.394 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 4.9442ms 2026-02-01 22:32:25.395 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 22:32:25.395 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:25.395 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:25.395 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:25.398 +08:00 [INF] Executed DbCommand (2ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:32:25.398 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:25.399 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 3.4243ms 2026-02-01 22:32:25.399 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:25.399 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 3.7777ms 2026-02-01 22:32:29.352 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:29.352 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:29.352 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:29.352 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:29.357 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:29.357 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:29.357 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 5.0185ms 2026-02-01 22:32:29.357 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:29.357 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 5.594ms 2026-02-01 22:32:31.246 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:31.246 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:31.246 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:31.246 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:31.250 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:31.250 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:31.251 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 4.5497ms 2026-02-01 22:32:31.251 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:31.251 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 4.979ms 2026-02-01 22:32:31.255 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - null null 2026-02-01 22:32:31.255 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:31.255 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:31.255 +08:00 [INF] Route matched with {action = "GetGlobalRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetGlobalRoutes() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:31.259 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."IsGlobal" AND NOT (t."IsDeleted") 2026-02-01 22:32:31.259 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:31.259 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway) in 4.2887ms 2026-02-01 22:32:31.259 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetGlobalRoutes (YarpGateway)' 2026-02-01 22:32:31.259 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/routes/global - 200 null application/json; charset=utf-8 4.6967ms 2026-02-01 22:32:31.260 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - null null 2026-02-01 22:32:31.260 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:31.261 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:31.261 +08:00 [INF] Route matched with {action = "GetTenantRoutes", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenantRoutes(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:31.265 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__tenantCode_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."ClusterId", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."IsGlobal", t."PathPattern", t."Priority", t."ServiceName", t."Status", t."TenantCode", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "TenantRoutes" AS t WHERE t."TenantCode" = @__tenantCode_0 AND NOT (t."IsDeleted") 2026-02-01 22:32:31.265 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenantRoute, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:31.266 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway) in 4.8276ms 2026-02-01 22:32:31.266 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenantRoutes (YarpGateway)' 2026-02-01 22:32:31.266 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants/1668/routes - 200 null application/json; charset=utf-8 5.2765ms 2026-02-01 22:32:31.266 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - null null 2026-02-01 22:32:31.267 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:31.267 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:31.267 +08:00 [INF] Route matched with {action = "GetInstances", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetInstances(System.String) on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:31.271 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[@__clusterId_0='?'], CommandType='"Text"', CommandTimeout='30'] SELECT s."Id", s."Address", s."ClusterId", s."CreatedBy", s."CreatedTime", s."DestinationId", s."Health", s."IsDeleted", s."Status", s."UpdatedBy", s."UpdatedTime", s."Version", s."Weight" FROM "ServiceInstances" AS s WHERE s."ClusterId" = @__clusterId_0 AND NOT (s."IsDeleted") 2026-02-01 22:32:31.271 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwServiceInstance, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:31.272 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway) in 4.6903ms 2026-02-01 22:32:31.272 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetInstances (YarpGateway)' 2026-02-01 22:32:31.272 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/clusters/1668-backend/instances - 200 null application/json; charset=utf-8 5.1732ms 2026-02-01 22:32:31.994 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 22:32:31.994 +08:00 [INF] CORS policy execution successful. 2026-02-01 22:32:31.994 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:31.994 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 22:32:31.999 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 22:32:32.000 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 22:32:32.000 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.5837ms 2026-02-01 22:32:32.000 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 22:32:32.000 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 5.9601ms 2026-02-01 23:02:32.878 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 23:02:32.879 +08:00 [INF] CORS policy execution successful. 2026-02-01 23:02:32.879 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:32.879 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 23:02:32.907 +08:00 [INF] Executed DbCommand (4ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 23:02:32.908 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 23:02:32.908 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 28.7787ms 2026-02-01 23:02:32.908 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:32.908 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 30.5865ms 2026-02-01 23:02:32.909 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 23:02:32.909 +08:00 [INF] CORS policy execution successful. 2026-02-01 23:02:32.909 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:32.909 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 23:02:32.913 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 23:02:32.913 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 23:02:32.914 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 5.3412ms 2026-02-01 23:02:32.914 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:32.914 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 499 null application/json; charset=utf-8 5.6739ms 2026-02-01 23:02:33.168 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - null null 2026-02-01 23:02:33.168 +08:00 [INF] CORS policy execution successful. 2026-02-01 23:02:33.168 +08:00 [INF] Executing endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:33.168 +08:00 [INF] Route matched with {action = "GetTenants", controller = "GatewayConfig"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetTenants() on controller YarpGateway.Controllers.GatewayConfigController (YarpGateway). 2026-02-01 23:02:33.172 +08:00 [INF] Executed DbCommand (3ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT t."Id", t."CreatedBy", t."CreatedTime", t."IsDeleted", t."Status", t."TenantCode", t."TenantName", t."UpdatedBy", t."UpdatedTime", t."Version" FROM "Tenants" AS t WHERE NOT (t."IsDeleted") 2026-02-01 23:02:33.172 +08:00 [INF] Executing OkObjectResult, writing value of type 'System.Collections.Generic.List`1[[YarpGateway.Models.GwTenant, YarpGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'. 2026-02-01 23:02:33.172 +08:00 [INF] Executed action YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway) in 3.8746ms 2026-02-01 23:02:33.172 +08:00 [INF] Executed endpoint 'YarpGateway.Controllers.GatewayConfigController.GetTenants (YarpGateway)' 2026-02-01 23:02:33.172 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/api/gateway/tenants - 200 null application/json; charset=utf-8 4.2812ms