From 6dc99e181ea8badeef7f5519edc8f7c7e44f964d Mon Sep 17 00:00:00 2001 From: "Roland.Ma" Date: Tue, 12 Oct 2021 08:15:58 +0000 Subject: [PATCH] supports to export gateway logs Signed-off-by: Roland.Ma --- pkg/kapis/gateway/v1alpha1/handler.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/pkg/kapis/gateway/v1alpha1/handler.go b/pkg/kapis/gateway/v1alpha1/handler.go index 323b0228f..a72562ed7 100644 --- a/pkg/kapis/gateway/v1alpha1/handler.go +++ b/pkg/kapis/gateway/v1alpha1/handler.go @@ -227,15 +227,30 @@ func (h *handler) PodLogSearch(request *restful.Request, response *restful.Respo } noHit := len(namespaceCreateTimeMap) == 0 || len(podfilter) == 0 - if noHit { - ar.Logs = &loggingclient.Logs{} + + if logQuery.Operation == loggingv1alpha2.OperationExport { + response.Header().Set(restful.HEADER_ContentType, "text/plain") + response.Header().Set("Content-Disposition", "attachment") + if noHit { + return + } + + err = h.lo.ExportLogs(sf, response) + if err != nil { + api.HandleInternalError(response, request, err) + return + } } else { + if noHit { + ar.Logs = &loggingclient.Logs{} + } + ar, err = h.lo.SearchLogs(sf, logQuery.From, logQuery.Size, logQuery.Sort) if err != nil { api.HandleError(response, request, err) return } + response.WriteEntity(ar) } - response.WriteEntity(ar) }