diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 0e5afe88e..e4ed4a8b9 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -381,13 +381,24 @@ func CloudbrainGetLog(ctx *context.Context) { return } result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) - //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) if result == nil { log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) return } - ctx.JSON(http.StatusOK, result) + + re := map[string]interface{}{ + "JobID": ID, + "LogFileName": result["FileName"], + "StartLine": startLine, + "EndLine": startLine + lines, + "Content": result["Content"], + "Lines": lines, + "CanLogDownload": result["Content"] != "", + } + //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) + + ctx.JSON(http.StatusOK, re) } func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]interface{} { @@ -399,8 +410,10 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i } re := "" + fileName := "" for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { + fileName = file.FileName path := storage.GetMinioPath(jobName+"/model/", file.FileName) log.Info("path=" + path) reader, err := os.Open(path) @@ -432,8 +445,9 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i } return map[string]interface{}{ - "JobName": jobName, - "Content": re, + "JobName": jobName, + "Content": re, + "FileName": fileName, } }