2025-07-16 09:03:40 [main] WARN [com.alibaba.nacos.client.logging.NacosLogging] - Load Logback Configuration of Nacos fail, message: Could not initialize Logback Nacos logging from classpath:nacos-logback.xml . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.2) 2025-07-16 09:03:40 [main] WARN [com.alibaba.nacos.client.logging.NacosLogging] - Load Logback Configuration of Nacos fail, message: Could not initialize Logback Nacos logging from classpath:nacos-logback.xml 2025-07-16 09:03:40 [main] INFO [com.emotionmuseum.gateway.GatewayApplication] - Starting GatewayApplication using Java 21.0.7 with PID 20154 (/Users/huazhongmin/peanut/AppleDevelop/EmotionMuseum/backend/emotion-gateway/target/emotion-gateway-1.0.0.jar started by huazhongmin in /Users/huazhongmin/peanut/AppleDevelop/EmotionMuseum/backend/emotion-gateway) 2025-07-16 09:03:40 [main] DEBUG [com.emotionmuseum.gateway.GatewayApplication] - Running with Spring Boot v3.0.2, Spring v6.0.4 2025-07-16 09:03:40 [main] INFO [com.emotionmuseum.gateway.GatewayApplication] - The following 1 profile is active: "local" 2025-07-16 09:03:42 [main] INFO [o.s.d.r.config.RepositoryConfigurationDelegate] - Multiple Spring Data modules found, entering strict repository configuration mode 2025-07-16 09:03:42 [main] INFO [o.s.d.r.config.RepositoryConfigurationDelegate] - Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-16 09:03:42 [main] INFO [o.s.d.r.config.RepositoryConfigurationDelegate] - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. 2025-07-16 09:03:42 [main] INFO [o.springframework.cloud.context.scope.GenericScope] - BeanFactory id=4710d9c7-5e9d-353b-b960-5b878d180ffe 2025-07-16 09:03:42 [main] INFO [o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker] - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-16 09:03:42 [main] INFO [o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker] - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-16 09:03:42 [main] INFO [o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker] - Bean 'reactorDeferringLoadBalancerExchangeFilterFunction' of type [org.springframework.cloud.client.loadbalancer.reactive.DeferringLoadBalancerExchangeFilterFunction] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-16 09:03:44 [main] DEBUG [o.s.cloud.gateway.config.GatewayProperties] - Routes supplied from Gateway Properties: [RouteDefinition{id='emotion-user-route', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/user/**}}], filters=[FilterDefinition{name='StripPrefix', args={_genkey_0=0}}], uri=http://localhost:19001, order=0, metadata={}}, RouteDefinition{id='emotion-captcha-route', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/captcha/**}}], filters=[FilterDefinition{name='StripPrefix', args={_genkey_0=0}}], uri=http://localhost:19001, order=0, metadata={}}, RouteDefinition{id='emotion-oauth-route', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/oauth/**}}], filters=[FilterDefinition{name='StripPrefix', args={_genkey_0=0}}], uri=http://localhost:19001, order=0, metadata={}}, RouteDefinition{id='emotion-ai-route', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/ai/**}}], filters=[FilterDefinition{name='StripPrefix', args={_genkey_0=0}}], uri=http://localhost:19002, order=0, metadata={}}] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [After] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Before] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Between] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Cookie] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Header] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Host] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Method] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Path] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Query] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [ReadBody] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [RemoteAddr] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [XForwardedRemoteAddr] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [Weight] 2025-07-16 09:03:44 [main] INFO [o.s.c.gateway.route.RouteDefinitionRouteLocator] - Loaded RoutePredicateFactory [CloudFoundryRouteService] 2025-07-16 09:03:44 [main] INFO [c.a.c.s.gateway.scg.SentinelSCGAutoConfiguration] - [Sentinel SpringCloudGateway] register SentinelGatewayFilter with order: -2147483648 2025-07-16 09:03:44 [main] DEBUG [o.s.web.reactive.handler.SimpleUrlHandlerMapping] - Patterns [/webjars/**, /**] in 'resourceHandlerMapping' 2025-07-16 09:03:44 [main] INFO [o.s.b.actuate.endpoint.web.EndpointLinksResolver] - Exposing 2 endpoint(s) beneath base path '/actuator' 2025-07-16 09:03:44 [main] DEBUG [o.s.w.r.r.m.annotation.ControllerMethodResolver] - ControllerAdvice beans: none 2025-07-16 09:03:44 [main] INFO [c.a.c.s.gateway.scg.SentinelSCGAutoConfiguration] - [Sentinel SpringCloudGateway] register SentinelGatewayBlockExceptionHandler 2025-07-16 09:03:44 [main] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - enableLoggingRequestDetails='false': form data and headers will be masked to prevent unsafe logging of potentially sensitive data 2025-07-16 09:03:44 [main] WARN [o.s.c.l.c.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger] - Spring Cloud LoadBalancer is currently working with the default cache. While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production.You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath. 2025-07-16 09:03:45 [main] INFO [o.s.boot.web.embedded.netty.NettyWebServer] - Netty started on port 19000 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-user-route applying {_genkey_0=/user/**} to Path 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-user-route applying filter {_genkey_0=0} to StripPrefix 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition matched: emotion-user-route 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-captcha-route applying {_genkey_0=/captcha/**} to Path 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-captcha-route applying filter {_genkey_0=0} to StripPrefix 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition matched: emotion-captcha-route 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-oauth-route applying {_genkey_0=/oauth/**} to Path 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-oauth-route applying filter {_genkey_0=0} to StripPrefix 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition matched: emotion-oauth-route 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-ai-route applying {_genkey_0=/ai/**} to Path 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition emotion-ai-route applying filter {_genkey_0=0} to StripPrefix 2025-07-16 09:03:45 [main] DEBUG [o.s.c.gateway.route.RouteDefinitionRouteLocator] - RouteDefinition matched: emotion-ai-route 2025-07-16 09:03:45 [main] DEBUG [o.s.cloud.gateway.filter.GatewayMetricsFilter] - New routes count: 4 2025-07-16 09:03:45 [main] INFO [com.emotionmuseum.gateway.GatewayApplication] - Started GatewayApplication in 5.105 seconds (process running for 5.704) 2025-07-16 09:03:59 [reactor-http-nio-2] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [42be3651-1] HTTP GET "/actuator/health" INFO: Sentinel log output type is: file INFO: Sentinel log charset is: utf-8 INFO: Sentinel log base directory is: /Users/huazhongmin/logs/csp/ INFO: Sentinel log name use pid is: false INFO: Sentinel log level is: INFO 2025-07-16 09:03:59 [lettuce-nioEventLoop-5-1] DEBUG [o.s.w.r.r.m.annotation.ResponseEntityResultHandler] - [42be3651-1] Using 'application/vnd.spring-boot.actuator.v3+json' given [*/*] and supported [application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json] 2025-07-16 09:03:59 [lettuce-nioEventLoop-5-1] DEBUG [o.s.w.r.r.m.annotation.ResponseEntityResultHandler] - [42be3651-1] 0..1 [org.springframework.boot.actuate.health.SystemHealth] 2025-07-16 09:03:59 [lettuce-nioEventLoop-5-1] DEBUG [org.springframework.web.HttpLogging] - [42be3651-1] Encoding [org.springframework.boot.actuate.health.SystemHealth@6fdce5a3] 2025-07-16 09:03:59 [reactor-http-nio-2] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [42be3651-1] Completed 200 OK 2025-07-16 09:04:12 [reactor-http-nio-3] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [127c1f50-2] HTTP GET "/actuator/health" 2025-07-16 09:04:12 [lettuce-nioEventLoop-5-1] DEBUG [o.s.w.r.r.m.annotation.ResponseEntityResultHandler] - [127c1f50-2] Using 'application/vnd.spring-boot.actuator.v3+json' given [*/*] and supported [application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json] 2025-07-16 09:04:12 [lettuce-nioEventLoop-5-1] DEBUG [o.s.w.r.r.m.annotation.ResponseEntityResultHandler] - [127c1f50-2] 0..1 [org.springframework.boot.actuate.health.SystemHealth] 2025-07-16 09:04:12 [lettuce-nioEventLoop-5-1] DEBUG [org.springframework.web.HttpLogging] - [127c1f50-2] Encoding [org.springframework.boot.actuate.health.SystemHealth@3fb8c67f] 2025-07-16 09:04:12 [reactor-http-nio-3] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [127c1f50-2] Completed 200 OK 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [7b8bca8e-3] HTTP GET "/user/actuator/health" 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - Route matched: emotion-user-route 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - Mapping [Exchange: GET http://localhost:19000/user/actuator/health] to Route{id='emotion-user-route', uri=http://localhost:19001, order=0, predicate=Paths: [/user/**], match trailing slash: true, gatewayFilters=[[[StripPrefix parts = 0], order = 1]], metadata={}} 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - [7b8bca8e-3] Mapped to org.springframework.cloud.gateway.handler.FilteringWebHandler@373b5ee9 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.cloud.gateway.handler.FilteringWebHandler] - Sorted gatewayFilterFactories: [[GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RemoveCachedBodyFilter@451f87af}, order = -2147483648], [GatewayFilterAdapter{delegate=com.alibaba.csp.sentinel.adapter.gateway.sc.SentinelGatewayFilter@3051e0b2}, order = -2147483648], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.AdaptCachedBodyGlobalFilter@4dafba3e}, order = -2147482648], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyWriteResponseFilter@287f7811}, order = -1], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardPathFilter@17271176}, order = 0], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.GatewayMetricsFilter@2e34384c}, order = 0], [[StripPrefix parts = 0], order = 1], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter@2b556bb2}, order = 10000], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter@57b75756}, order = 10150], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.LoadBalancerServiceInstanceCookieFilter@5327a06e}, order = 10151], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.WebsocketRoutingFilter@2e3cdec2}, order = 2147483646], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyRoutingFilter@2679311f}, order = 2147483647], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardRoutingFilter@44cb460e}, order = 2147483647]] 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.g.f.h.o.ObservedRequestHttpHeadersFilter] - Will instrument the HTTP request headers [Host:"localhost:19000", User-Agent:"curl/8.7.1", Accept:"*/*", Forwarded:"proto=http;host="localhost:19000";for="[0:0:0:0:0:0:0:1]:62291"", X-Forwarded-For:"0:0:0:0:0:0:0:1", X-Forwarded-Proto:"http", X-Forwarded-Port:"19000", X-Forwarded-Host:"localhost:19000"] 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.g.f.h.o.ObservedRequestHttpHeadersFilter] - Client observation {name=http.client.requests(null), error=null, context=name='http.client.requests', contextualName='null', error='null', lowCardinalityKeyValues=[http.method='GET', http.status_code='UNKNOWN', spring.cloud.gateway.route.id='emotion-user-route', spring.cloud.gateway.route.uri='http://localhost:19001'], highCardinalityKeyValues=[http.uri='http://localhost:19000/user/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@4443fec4', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=4.93244E-4, duration(nanos)=493244.0, startTimeNanos=302639138304957}'], parentObservation={name=http.server.requests(null), error=null, context=name='http.server.requests', contextualName='null', error='null', lowCardinalityKeyValues=[exception='none', method='GET', outcome='SUCCESS', status='200', uri='UNKNOWN'], highCardinalityKeyValues=[http.url='/user/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@62ceb8d8', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.131310068, duration(nanos)=1.31310068E8, startTimeNanos=302639007609097}'], parentObservation=null}} created for the request. New headers are [Host:"localhost:19000", User-Agent:"curl/8.7.1", Accept:"*/*", Forwarded:"proto=http;host="localhost:19000";for="[0:0:0:0:0:0:0:1]:62291"", X-Forwarded-For:"0:0:0:0:0:0:0:1", X-Forwarded-Proto:"http", X-Forwarded-Port:"19000", X-Forwarded-Host:"localhost:19000"] 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.g.f.h.o.ObservedResponseHttpHeadersFilter] - Will instrument the response 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.c.g.f.h.o.ObservedResponseHttpHeadersFilter] - The response was handled for observation {name=http.client.requests(null), error=null, context=name='http.client.requests', contextualName='null', error='null', lowCardinalityKeyValues=[http.method='GET', http.status_code='UNKNOWN', spring.cloud.gateway.route.id='emotion-user-route', spring.cloud.gateway.route.uri='http://localhost:19001'], highCardinalityKeyValues=[http.uri='http://localhost:19000/user/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@4443fec4', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.078344915, duration(nanos)=7.8344915E7, startTimeNanos=302639138304957}'], parentObservation={name=http.server.requests(null), error=null, context=name='http.server.requests', contextualName='null', error='null', lowCardinalityKeyValues=[exception='none', method='GET', outcome='SUCCESS', status='200', uri='UNKNOWN'], highCardinalityKeyValues=[http.url='/user/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@62ceb8d8', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.209234105, duration(nanos)=2.09234105E8, startTimeNanos=302639007609097}'], parentObservation=null}} 2025-07-16 09:04:22 [reactor-http-nio-4] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [7b8bca8e-3] Completed 403 FORBIDDEN 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [37305ece-4] HTTP GET "/ai/actuator/health" 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - Route matched: emotion-ai-route 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - Mapping [Exchange: GET http://localhost:19000/ai/actuator/health] to Route{id='emotion-ai-route', uri=http://localhost:19002, order=0, predicate=Paths: [/ai/**], match trailing slash: true, gatewayFilters=[[[StripPrefix parts = 0], order = 1]], metadata={}} 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.c.gateway.handler.RoutePredicateHandlerMapping] - [37305ece-4] Mapped to org.springframework.cloud.gateway.handler.FilteringWebHandler@373b5ee9 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.cloud.gateway.handler.FilteringWebHandler] - Sorted gatewayFilterFactories: [[GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RemoveCachedBodyFilter@451f87af}, order = -2147483648], [GatewayFilterAdapter{delegate=com.alibaba.csp.sentinel.adapter.gateway.sc.SentinelGatewayFilter@3051e0b2}, order = -2147483648], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.AdaptCachedBodyGlobalFilter@4dafba3e}, order = -2147482648], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyWriteResponseFilter@287f7811}, order = -1], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardPathFilter@17271176}, order = 0], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.GatewayMetricsFilter@2e34384c}, order = 0], [[StripPrefix parts = 0], order = 1], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter@2b556bb2}, order = 10000], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter@57b75756}, order = 10150], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.LoadBalancerServiceInstanceCookieFilter@5327a06e}, order = 10151], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.WebsocketRoutingFilter@2e3cdec2}, order = 2147483646], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyRoutingFilter@2679311f}, order = 2147483647], [GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardRoutingFilter@44cb460e}, order = 2147483647]] 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.c.g.f.h.o.ObservedRequestHttpHeadersFilter] - Will instrument the HTTP request headers [Host:"localhost:19000", User-Agent:"curl/8.7.1", Accept:"*/*", Forwarded:"proto=http;host="localhost:19000";for="[0:0:0:0:0:0:0:1]:62323"", X-Forwarded-For:"0:0:0:0:0:0:0:1", X-Forwarded-Proto:"http", X-Forwarded-Port:"19000", X-Forwarded-Host:"localhost:19000"] 2025-07-16 09:04:31 [reactor-http-nio-5] DEBUG [o.s.c.g.f.h.o.ObservedRequestHttpHeadersFilter] - Client observation {name=http.client.requests(null), error=null, context=name='http.client.requests', contextualName='null', error='null', lowCardinalityKeyValues=[http.method='GET', http.status_code='UNKNOWN', spring.cloud.gateway.route.id='emotion-ai-route', spring.cloud.gateway.route.uri='http://localhost:19002'], highCardinalityKeyValues=[http.uri='http://localhost:19000/ai/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@14138b12', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=1.69279E-4, duration(nanos)=169279.0, startTimeNanos=302648957485505}'], parentObservation={name=http.server.requests(null), error=null, context=name='http.server.requests', contextualName='null', error='null', lowCardinalityKeyValues=[exception='none', method='GET', outcome='SUCCESS', status='200', uri='UNKNOWN'], highCardinalityKeyValues=[http.url='/ai/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@3973cc2a', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.003046764, duration(nanos)=3046764.0, startTimeNanos=302648954707166}'], parentObservation=null}} created for the request. New headers are [Host:"localhost:19000", User-Agent:"curl/8.7.1", Accept:"*/*", Forwarded:"proto=http;host="localhost:19000";for="[0:0:0:0:0:0:0:1]:62323"", X-Forwarded-For:"0:0:0:0:0:0:0:1", X-Forwarded-Proto:"http", X-Forwarded-Port:"19000", X-Forwarded-Host:"localhost:19000"] 2025-07-16 09:04:32 [reactor-http-nio-5] DEBUG [o.s.c.g.f.h.o.ObservedResponseHttpHeadersFilter] - Will instrument the response 2025-07-16 09:04:32 [reactor-http-nio-5] DEBUG [o.s.c.g.f.h.o.ObservedResponseHttpHeadersFilter] - The response was handled for observation {name=http.client.requests(null), error=null, context=name='http.client.requests', contextualName='null', error='null', lowCardinalityKeyValues=[http.method='GET', http.status_code='UNKNOWN', spring.cloud.gateway.route.id='emotion-ai-route', spring.cloud.gateway.route.uri='http://localhost:19002'], highCardinalityKeyValues=[http.uri='http://localhost:19000/ai/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@14138b12', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.078077624, duration(nanos)=7.8077624E7, startTimeNanos=302648957485505}'], parentObservation={name=http.server.requests(null), error=null, context=name='http.server.requests', contextualName='null', error='null', lowCardinalityKeyValues=[exception='none', method='GET', outcome='SUCCESS', status='200', uri='UNKNOWN'], highCardinalityKeyValues=[http.url='/ai/actuator/health'], map=[class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@3973cc2a', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.080973745, duration(nanos)=8.0973745E7, startTimeNanos=302648954707166}'], parentObservation=null}} 2025-07-16 09:04:32 [reactor-http-nio-5] DEBUG [o.s.web.server.adapter.HttpWebHandlerAdapter] - [37305ece-4] Completed 404 NOT_FOUND