mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-30 18:17:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			136 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) HashiCorp, Inc.
 | |
| // SPDX-License-Identifier: MPL-2.0
 | |
| 
 | |
| package plugin
 | |
| 
 | |
| import hclog "github.com/hashicorp/go-hclog"
 | |
| 
 | |
| type LoggerServer struct {
 | |
| 	logger hclog.Logger
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Trace(args *LoggerArgs, _ *struct{}) error {
 | |
| 	l.logger.Trace(args.Msg, args.Args...)
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Debug(args *LoggerArgs, _ *struct{}) error {
 | |
| 	l.logger.Debug(args.Msg, args.Args...)
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Info(args *LoggerArgs, _ *struct{}) error {
 | |
| 	l.logger.Info(args.Msg, args.Args...)
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Warn(args *LoggerArgs, reply *LoggerReply) error {
 | |
| 	l.logger.Warn(args.Msg, args.Args...)
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Error(args *LoggerArgs, reply *LoggerReply) error {
 | |
| 	l.logger.Error(args.Msg, args.Args...)
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) Log(args *LoggerArgs, _ *struct{}) error {
 | |
| 	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 {
 | |
| 	level := translateLevel(args)
 | |
| 	l.logger = hclog.New(&hclog.LoggerOptions{Level: level})
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) IsTrace(args interface{}, reply *LoggerReply) error {
 | |
| 	result := l.logger.IsTrace()
 | |
| 	*reply = LoggerReply{
 | |
| 		IsTrue: result,
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) IsDebug(args interface{}, reply *LoggerReply) error {
 | |
| 	result := l.logger.IsDebug()
 | |
| 	*reply = LoggerReply{
 | |
| 		IsTrue: result,
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) IsInfo(args interface{}, reply *LoggerReply) error {
 | |
| 	result := l.logger.IsInfo()
 | |
| 	*reply = LoggerReply{
 | |
| 		IsTrue: result,
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (l *LoggerServer) IsWarn(args interface{}, reply *LoggerReply) error {
 | |
| 	result := l.logger.IsWarn()
 | |
| 	*reply = LoggerReply{
 | |
| 		IsTrue: result,
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| type LoggerArgs struct {
 | |
| 	Level int
 | |
| 	Msg   string
 | |
| 	Args  []interface{}
 | |
| }
 | |
| 
 | |
| // LoggerReply contains the RPC reply. Not all fields may be used
 | |
| // for a particular RPC call.
 | |
| 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
 | |
| }
 | 
