mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 10:37:56 +00:00 
			
		
		
		
	Move to "github.com/hashicorp/go-hclog" (#4227)
* logbridge with hclog and identical output * Initial search & replace This compiles, but there is a fair amount of TODO and commented out code, especially around the plugin logclient/logserver code. * strip logbridge * fix majority of tests * update logxi aliases * WIP fixing tests * more test fixes * Update test to hclog * Fix format * Rename hclog -> log * WIP making hclog and logxi love each other * update logger_test.go * clean up merged comments * Replace RawLogger interface with a Logger * Add some logger names * Replace Trace with Debug * update builtin logical logging patterns * Fix build errors * More log updates * update log approach in command and builtin * More log updates * update helper, http, and logical directories * Update loggers * Log updates * Update logging * Update logging * Update logging * Update logging * update logging in physical * prefixing and lowercase * Update logging * Move phyisical logging name to server command * Fix som tests * address jims feedback so far * incorporate brians feedback so far * strip comments * move vault.go to logging package * update Debug to Trace * Update go-plugin deps * Update logging based on review comments * Updates from review * Unvendor logxi * Remove null_logger.go
This commit is contained in:
		 Becca Petrin
					Becca Petrin
				
			
				
					committed by
					
						 Brian Kassouf
						Brian Kassouf
					
				
			
			
				
	
			
			
			 Brian Kassouf
						Brian Kassouf
					
				
			
						parent
						
							ecdd877bf4
						
					
				
				
					commit
					792d219aa9
				
			| @@ -1,114 +1,9 @@ | ||||
| package plugin | ||||
|  | ||||
| import ( | ||||
| 	"net/rpc" | ||||
|  | ||||
| 	log "github.com/mgutz/logxi/v1" | ||||
| ) | ||||
|  | ||||
| type LoggerClient struct { | ||||
| 	client *rpc.Client | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) Trace(msg string, args ...interface{}) { | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Msg:  msg, | ||||
| 		Args: args, | ||||
| 	} | ||||
| 	l.client.Call("Plugin.Trace", cArgs, &struct{}{}) | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) Debug(msg string, args ...interface{}) { | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Msg:  msg, | ||||
| 		Args: args, | ||||
| 	} | ||||
| 	l.client.Call("Plugin.Debug", cArgs, &struct{}{}) | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) Info(msg string, args ...interface{}) { | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Msg:  msg, | ||||
| 		Args: args, | ||||
| 	} | ||||
| 	l.client.Call("Plugin.Info", cArgs, &struct{}{}) | ||||
| } | ||||
| func (l *LoggerClient) Warn(msg string, args ...interface{}) error { | ||||
| 	var reply LoggerReply | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Msg:  msg, | ||||
| 		Args: args, | ||||
| 	} | ||||
| 	err := l.client.Call("Plugin.Warn", cArgs, &reply) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if reply.Error != nil { | ||||
| 		return reply.Error | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
| func (l *LoggerClient) Error(msg string, args ...interface{}) error { | ||||
| 	var reply LoggerReply | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Msg:  msg, | ||||
| 		Args: args, | ||||
| 	} | ||||
| 	err := l.client.Call("Plugin.Error", cArgs, &reply) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if reply.Error != nil { | ||||
| 		return reply.Error | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) Fatal(msg string, args ...interface{}) { | ||||
| 	// NOOP since it's not actually used within vault | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) Log(level int, msg string, args []interface{}) { | ||||
| 	cArgs := &LoggerArgs{ | ||||
| 		Level: level, | ||||
| 		Msg:   msg, | ||||
| 		Args:  args, | ||||
| 	} | ||||
| 	l.client.Call("Plugin.Log", cArgs, &struct{}{}) | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) SetLevel(level int) { | ||||
| 	l.client.Call("Plugin.SetLevel", level, &struct{}{}) | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) IsTrace() bool { | ||||
| 	var reply LoggerReply | ||||
| 	l.client.Call("Plugin.IsTrace", new(interface{}), &reply) | ||||
| 	return reply.IsTrue | ||||
| } | ||||
| func (l *LoggerClient) IsDebug() bool { | ||||
| 	var reply LoggerReply | ||||
| 	l.client.Call("Plugin.IsDebug", new(interface{}), &reply) | ||||
| 	return reply.IsTrue | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) IsInfo() bool { | ||||
| 	var reply LoggerReply | ||||
| 	l.client.Call("Plugin.IsInfo", new(interface{}), &reply) | ||||
| 	return reply.IsTrue | ||||
| } | ||||
|  | ||||
| func (l *LoggerClient) IsWarn() bool { | ||||
| 	var reply LoggerReply | ||||
| 	l.client.Call("Plugin.IsWarn", new(interface{}), &reply) | ||||
| 	return reply.IsTrue | ||||
| } | ||||
| import hclog "github.com/hashicorp/go-hclog" | ||||
|  | ||||
| type LoggerServer struct { | ||||
| 	logger log.Logger | ||||
| 	logger hclog.Logger | ||||
| } | ||||
|  | ||||
| func (l *LoggerServer) Trace(args *LoggerArgs, _ *struct{}) error { | ||||
| @@ -127,34 +22,42 @@ func (l *LoggerServer) Info(args *LoggerArgs, _ *struct{}) error { | ||||
| } | ||||
|  | ||||
| func (l *LoggerServer) Warn(args *LoggerArgs, reply *LoggerReply) error { | ||||
| 	err := l.logger.Warn(args.Msg, args.Args...) | ||||
| 	if err != nil { | ||||
| 		*reply = LoggerReply{ | ||||
| 			Error: wrapError(err), | ||||
| 		} | ||||
| 		return nil | ||||
| 	} | ||||
| 	l.logger.Warn(args.Msg, args.Args...) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (l *LoggerServer) Error(args *LoggerArgs, reply *LoggerReply) error { | ||||
| 	err := l.logger.Error(args.Msg, args.Args...) | ||||
| 	if err != nil { | ||||
| 		*reply = LoggerReply{ | ||||
| 			Error: wrapError(err), | ||||
| 		} | ||||
| 		return nil | ||||
| 	} | ||||
| 	l.logger.Error(args.Msg, args.Args...) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (l *LoggerServer) Log(args *LoggerArgs, _ *struct{}) error { | ||||
| 	l.logger.Log(args.Level, args.Msg, args.Args) | ||||
|  | ||||
| 	switch translateLevel(args.Level) { | ||||
|  | ||||
| 	case hclog.Trace: | ||||
| 		l.logger.Trace(args.Msg, args.Args...) | ||||
|  | ||||
| 	case hclog.Debug: | ||||
| 		l.logger.Debug(args.Msg, args.Args...) | ||||
|  | ||||
| 	case hclog.Info: | ||||
| 		l.logger.Info(args.Msg, args.Args...) | ||||
|  | ||||
| 	case hclog.Warn: | ||||
| 		l.logger.Warn(args.Msg, args.Args...) | ||||
|  | ||||
| 	case hclog.Error: | ||||
| 		l.logger.Error(args.Msg, args.Args...) | ||||
|  | ||||
| 	case hclog.NoLevel: | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (l *LoggerServer) SetLevel(args int, _ *struct{}) error { | ||||
| 	l.logger.SetLevel(args) | ||||
| 	level := translateLevel(args) | ||||
| 	l.logger = hclog.New(&hclog.LoggerOptions{Level: level}) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @@ -202,3 +105,30 @@ type LoggerReply struct { | ||||
| 	IsTrue bool | ||||
| 	Error  error | ||||
| } | ||||
|  | ||||
| func translateLevel(logxiLevel int) hclog.Level { | ||||
|  | ||||
| 	switch logxiLevel { | ||||
|  | ||||
| 	case 1000, 10: | ||||
| 		// logxi.LevelAll, logxi.LevelTrace: | ||||
| 		return hclog.Trace | ||||
|  | ||||
| 	case 7: | ||||
| 		// logxi.LevelDebug: | ||||
| 		return hclog.Debug | ||||
|  | ||||
| 	case 6, 5: | ||||
| 		// logxi.LevelInfo, logxi.LevelNotice: | ||||
| 		return hclog.Info | ||||
|  | ||||
| 	case 4: | ||||
| 		// logxi.LevelWarn: | ||||
| 		return hclog.Warn | ||||
|  | ||||
| 	case 3, 2, 1, -1: | ||||
| 		// logxi.LevelError, logxi.LevelFatal, logxi.LevelAlert, logxi.LevelEmergency: | ||||
| 		return hclog.Error | ||||
| 	} | ||||
| 	return hclog.NoLevel | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user