| @@ -381,13 +381,24 @@ func CloudbrainGetLog(ctx *context.Context) { | |||||
| return | return | ||||
| } | } | ||||
| result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) | result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) | ||||
| //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) | |||||
| if result == nil { | if result == nil { | ||||
| log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) | log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) | ||||
| ctx.ServerError(err.Error(), err) | ctx.ServerError(err.Error(), err) | ||||
| return | 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{} { | 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 := "" | re := "" | ||||
| fileName := "" | |||||
| for _, file := range files { | for _, file := range files { | ||||
| if strings.HasSuffix(file.FileName, "log.txt") { | if strings.HasSuffix(file.FileName, "log.txt") { | ||||
| fileName = file.FileName | |||||
| path := storage.GetMinioPath(jobName+"/model/", file.FileName) | path := storage.GetMinioPath(jobName+"/model/", file.FileName) | ||||
| log.Info("path=" + path) | log.Info("path=" + path) | ||||
| reader, err := os.Open(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{}{ | return map[string]interface{}{ | ||||
| "JobName": jobName, | |||||
| "Content": re, | |||||
| "JobName": jobName, | |||||
| "Content": re, | |||||
| "FileName": fileName, | |||||
| } | } | ||||
| } | } | ||||