fengling-gateway/logs/gateway-20260201.log

1868 lines
236 KiB
Plaintext

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<TResult>.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<TResult>.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<TResult>.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<TResult>.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.<<StartAsync>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.<StartAsync>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.<<StartAsync>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.<StartAsync>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.<<StartAsync>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.<StartAsync>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.<<StartAsync>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.<StartAsync>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