mirror of https://github.com/minio/minio.git
				
				
				
			fix: admin console logger changes to log.Info
This commit is contained in:
		
							parent
							
								
									ae654831aa
								
							
						
					
					
						commit
						b4bfdc92cc
					
				|  | @ -42,6 +42,7 @@ import ( | |||
| 	"github.com/minio/minio/cmd/crypto" | ||||
| 	xhttp "github.com/minio/minio/cmd/http" | ||||
| 	"github.com/minio/minio/cmd/logger" | ||||
| 	"github.com/minio/minio/cmd/logger/message/log" | ||||
| 	"github.com/minio/minio/pkg/auth" | ||||
| 	"github.com/minio/minio/pkg/cpu" | ||||
| 	"github.com/minio/minio/pkg/event/target" | ||||
|  | @ -1227,8 +1228,8 @@ func (a adminAPIHandlers) ConsoleLogHandler(w http.ResponseWriter, r *http.Reque | |||
| 	for { | ||||
| 		select { | ||||
| 		case entry := <-logCh: | ||||
| 			log := entry.(madmin.LogInfo) | ||||
| 			if log.SendLog(node, logKind) { | ||||
| 			log, ok := entry.(log.Info) | ||||
| 			if ok && log.SendLog(node, logKind) { | ||||
| 				if err := enc.Encode(log); err != nil { | ||||
| 					return | ||||
| 				} | ||||
|  |  | |||
|  | @ -24,7 +24,6 @@ import ( | |||
| 	"github.com/minio/minio/cmd/logger" | ||||
| 	"github.com/minio/minio/cmd/logger/message/log" | ||||
| 	"github.com/minio/minio/cmd/logger/target/console" | ||||
| 	"github.com/minio/minio/pkg/madmin" | ||||
| 	xnet "github.com/minio/minio/pkg/net" | ||||
| 	"github.com/minio/minio/pkg/pubsub" | ||||
| ) | ||||
|  | @ -84,17 +83,20 @@ func (sys *HTTPConsoleLoggerSys) Subscribe(subCh chan interface{}, doneCh chan s | |||
| 	cnt := 0 | ||||
| 	// by default send all console logs in the ring buffer unless node or limit query parameters
 | ||||
| 	// are set.
 | ||||
| 	var lastN []madmin.LogInfo | ||||
| 	var lastN []log.Info | ||||
| 	if last > defaultLogBufferCount || last <= 0 { | ||||
| 		last = defaultLogBufferCount | ||||
| 	} | ||||
| 
 | ||||
| 	lastN = make([]madmin.LogInfo, last) | ||||
| 	lastN = make([]log.Info, last) | ||||
| 	sys.RLock() | ||||
| 	sys.logBuf.Do(func(p interface{}) { | ||||
| 		if p != nil && (p.(madmin.LogInfo)).SendLog(node, logKind) { | ||||
| 			lastN[cnt%last] = p.(madmin.LogInfo) | ||||
| 			cnt++ | ||||
| 		if p != nil { | ||||
| 			lg, ok := p.(log.Info) | ||||
| 			if ok && lg.SendLog(node, logKind) { | ||||
| 				lastN[cnt%last] = lg | ||||
| 				cnt++ | ||||
| 			} | ||||
| 		} | ||||
| 	}) | ||||
| 	sys.RUnlock() | ||||
|  | @ -102,7 +104,7 @@ func (sys *HTTPConsoleLoggerSys) Subscribe(subCh chan interface{}, doneCh chan s | |||
| 	if cnt > 0 { | ||||
| 		for i := 0; i < last; i++ { | ||||
| 			entry := lastN[(cnt+i)%last] | ||||
| 			if (entry == madmin.LogInfo{}) { | ||||
| 			if (entry == log.Info{}) { | ||||
| 				continue | ||||
| 			} | ||||
| 			select { | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| /* | ||||
|  * MinIO Cloud Storage, (C) 2018 MinIO, Inc. | ||||
|  * MinIO Cloud Storage, (C) 2018, 2020 MinIO, Inc. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  | @ -16,6 +16,8 @@ | |||
| 
 | ||||
| package log | ||||
| 
 | ||||
| import "strings" | ||||
| 
 | ||||
| // Args - defines the arguments for the API.
 | ||||
| type Args struct { | ||||
| 	Bucket   string            `json:"bucket,omitempty"` | ||||
|  | @ -58,3 +60,10 @@ type Info struct { | |||
| 	NodeName   string `json:"node"` | ||||
| 	Err        error  `json:"-"` | ||||
| } | ||||
| 
 | ||||
| // SendLog returns true if log pertains to node specified in args.
 | ||||
| func (l Info) SendLog(node, logKind string) bool { | ||||
| 	nodeFltr := (node == "" || strings.EqualFold(node, l.NodeName)) | ||||
| 	typeFltr := strings.EqualFold(logKind, "all") || strings.EqualFold(l.LogKind, logKind) | ||||
| 	return nodeFltr && typeFltr | ||||
| } | ||||
|  |  | |||
|  | @ -22,7 +22,6 @@ import ( | |||
| 	"net/http" | ||||
| 	"net/url" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| ) | ||||
| 
 | ||||
| // LogInfo holds console log messages
 | ||||
|  | @ -33,13 +32,6 @@ type LogInfo struct { | |||
| 	Err        error  `json:"-"` | ||||
| } | ||||
| 
 | ||||
| // SendLog returns true if log pertains to node specified in args.
 | ||||
| func (l LogInfo) SendLog(node, logKind string) bool { | ||||
| 	nodeFltr := (node == "" || strings.EqualFold(node, l.NodeName)) | ||||
| 	typeFltr := strings.EqualFold(logKind, "all") || strings.EqualFold(l.LogKind, logKind) | ||||
| 	return nodeFltr && typeFltr | ||||
| } | ||||
| 
 | ||||
| // GetLogs - listen on console log messages.
 | ||||
| func (adm AdminClient) GetLogs(ctx context.Context, node string, lineCnt int, logKind string) <-chan LogInfo { | ||||
| 	logCh := make(chan LogInfo, 1) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue