diff --git a/runtime/kubernetes/kubernetes.go b/runtime/kubernetes/kubernetes.go index aa680b7c..76d592f7 100644 --- a/runtime/kubernetes/kubernetes.go +++ b/runtime/kubernetes/kubernetes.go @@ -364,6 +364,7 @@ func (k *kubernetes) Logs(s *runtime.Service, options ...runtime.LogsOption) (ru for _, record := range records { kstream.Chan() <- record } + kstream.Stop() }() return kstream, nil } diff --git a/runtime/kubernetes/logs.go b/runtime/kubernetes/logs.go index 5af51d35..0d5040ce 100644 --- a/runtime/kubernetes/logs.go +++ b/runtime/kubernetes/logs.go @@ -9,6 +9,7 @@ import ( "strconv" "time" + "github.com/micro/go-micro/v3/errors" "github.com/micro/go-micro/v3/runtime" "github.com/micro/go-micro/v3/util/kubernetes/client" "github.com/micro/go-micro/v3/util/log" @@ -105,6 +106,9 @@ func (k *klog) Read() ([]runtime.LogRecord, error) { if err != nil { return nil, err } + if len(pods) == 0 { + return nil, errors.NotFound("runtime.logs", "no such service") + } var records []runtime.LogRecord