mirror of
https://github.com/k8snetworkplumbingwg/multus-cni.git
synced 2025-07-13 15:34:08 +00:00
Add 'verbose' option to logging minimum information (#275)
This change address #274 to add 'verbose option which outputs minimum information (for usual runs with a bit information than 'error').
This commit is contained in:
parent
102cfc349d
commit
61416cbd40
@ -29,6 +29,7 @@ type Level uint32
|
|||||||
const (
|
const (
|
||||||
PanicLevel Level = iota
|
PanicLevel Level = iota
|
||||||
ErrorLevel
|
ErrorLevel
|
||||||
|
VerboseLevel
|
||||||
DebugLevel
|
DebugLevel
|
||||||
MaxLevel
|
MaxLevel
|
||||||
UnknownLevel
|
UnknownLevel
|
||||||
@ -44,6 +45,8 @@ func (l Level) String() string {
|
|||||||
switch l {
|
switch l {
|
||||||
case PanicLevel:
|
case PanicLevel:
|
||||||
return "panic"
|
return "panic"
|
||||||
|
case VerboseLevel:
|
||||||
|
return "verbose"
|
||||||
case ErrorLevel:
|
case ErrorLevel:
|
||||||
return "error"
|
return "error"
|
||||||
case DebugLevel:
|
case DebugLevel:
|
||||||
@ -76,6 +79,10 @@ func Debugf(format string, a ...interface{}) {
|
|||||||
Printf(DebugLevel, format, a...)
|
Printf(DebugLevel, format, a...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Verbosef(format string, a ...interface{}) {
|
||||||
|
Printf(VerboseLevel, format, a...)
|
||||||
|
}
|
||||||
|
|
||||||
func Errorf(format string, a ...interface{}) error {
|
func Errorf(format string, a ...interface{}) error {
|
||||||
Printf(ErrorLevel, format, a...)
|
Printf(ErrorLevel, format, a...)
|
||||||
return fmt.Errorf(format, a...)
|
return fmt.Errorf(format, a...)
|
||||||
@ -88,10 +95,16 @@ func Panicf(format string, a ...interface{}) {
|
|||||||
Printf(PanicLevel, "========= Stack trace output end ========")
|
Printf(PanicLevel, "========= Stack trace output end ========")
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetLoggingLevel(levelStr string) Level {
|
func GetLoggingLevel() Level {
|
||||||
|
return loggingLevel
|
||||||
|
}
|
||||||
|
|
||||||
|
func getLoggingLevel(levelStr string) Level {
|
||||||
switch strings.ToLower(levelStr) {
|
switch strings.ToLower(levelStr) {
|
||||||
case "debug":
|
case "debug":
|
||||||
return DebugLevel
|
return DebugLevel
|
||||||
|
case "verbose":
|
||||||
|
return VerboseLevel
|
||||||
case "error":
|
case "error":
|
||||||
return ErrorLevel
|
return ErrorLevel
|
||||||
case "panic":
|
case "panic":
|
||||||
@ -102,7 +115,7 @@ func GetLoggingLevel(levelStr string) Level {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func SetLogLevel(levelStr string) {
|
func SetLogLevel(levelStr string) {
|
||||||
level := GetLoggingLevel(levelStr)
|
level := getLoggingLevel(levelStr)
|
||||||
if level < MaxLevel {
|
if level < MaxLevel {
|
||||||
loggingLevel = level
|
loggingLevel = level
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,8 @@ var _ = Describe("logging operations", func() {
|
|||||||
Expect(loggingLevel).To(Equal(DebugLevel))
|
Expect(loggingLevel).To(Equal(DebugLevel))
|
||||||
SetLogLevel("Error")
|
SetLogLevel("Error")
|
||||||
Expect(loggingLevel).To(Equal(ErrorLevel))
|
Expect(loggingLevel).To(Equal(ErrorLevel))
|
||||||
|
SetLogLevel("VERbose")
|
||||||
|
Expect(loggingLevel).To(Equal(VerboseLevel))
|
||||||
SetLogLevel("PANIC")
|
SetLogLevel("PANIC")
|
||||||
Expect(loggingLevel).To(Equal(PanicLevel))
|
Expect(loggingLevel).To(Equal(PanicLevel))
|
||||||
})
|
})
|
||||||
|
@ -229,19 +229,31 @@ func delegateAdd(exec invoke.Exec, ifName string, delegate *types.DelegateNetCon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if delegate.ConfListPlugin != false {
|
var result cnitypes.Result
|
||||||
result, err := conflistAdd(rt, delegate.Bytes, binDir, exec)
|
var err error
|
||||||
|
if delegate.ConfListPlugin {
|
||||||
|
result, err = conflistAdd(rt, delegate.Bytes, binDir, exec)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, logging.Errorf("Multus: error in invoke Conflist add - %q: %v", delegate.ConfList.Name, err)
|
return nil, logging.Errorf("Multus: error in invoke Conflist add - %q: %v", delegate.ConfList.Name, err)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
return result, nil
|
result, err = invoke.DelegateAdd(delegate.Conf.Type, delegate.Bytes, exec)
|
||||||
}
|
|
||||||
|
|
||||||
result, err := invoke.DelegateAdd(delegate.Conf.Type, delegate.Bytes, exec)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, logging.Errorf("Multus: error in invoke Delegate add - %q: %v", delegate.Conf.Type, err)
|
return nil, logging.Errorf("Multus: error in invoke Delegate add - %q: %v", delegate.Conf.Type, err)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if logging.GetLoggingLevel() >= logging.VerboseLevel {
|
||||||
|
data, _ := json.Marshal(result)
|
||||||
|
var confName string
|
||||||
|
if delegate.ConfListPlugin {
|
||||||
|
confName = delegate.ConfList.Name
|
||||||
|
} else {
|
||||||
|
confName = delegate.Conf.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
logging.Verbosef("Add: %s:%s:%s:%s %s", rt.Args[1][1], rt.Args[2][1], confName, rt.IfName, string(data))
|
||||||
|
}
|
||||||
|
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
@ -252,20 +264,29 @@ func delegateDel(exec invoke.Exec, ifName string, delegateConf *types.DelegateNe
|
|||||||
return logging.Errorf("Multus: error in setting CNI_IFNAME")
|
return logging.Errorf("Multus: error in setting CNI_IFNAME")
|
||||||
}
|
}
|
||||||
|
|
||||||
if delegateConf.ConfListPlugin != false {
|
if logging.GetLoggingLevel() >= logging.VerboseLevel {
|
||||||
err := conflistDel(rt, delegateConf.Bytes, binDir, exec)
|
var confName string
|
||||||
|
if delegateConf.ConfListPlugin {
|
||||||
|
confName = delegateConf.ConfList.Name
|
||||||
|
} else {
|
||||||
|
confName = delegateConf.Conf.Name
|
||||||
|
}
|
||||||
|
logging.Verbosef("Del: %s:%s:%s:%s %s", rt.Args[1][1], rt.Args[2][1], confName, rt.IfName, string(delegateConf.Bytes))
|
||||||
|
}
|
||||||
|
|
||||||
|
var err error
|
||||||
|
if delegateConf.ConfListPlugin {
|
||||||
|
err = conflistDel(rt, delegateConf.Bytes, binDir, exec)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return logging.Errorf("Multus: error in invoke Conflist Del - %q: %v", delegateConf.ConfList.Name, err)
|
return logging.Errorf("Multus: error in invoke Conflist Del - %q: %v", delegateConf.ConfList.Name, err)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
return err
|
if err = invoke.DelegateDel(delegateConf.Conf.Type, delegateConf.Bytes, exec); err != nil {
|
||||||
}
|
|
||||||
|
|
||||||
if err := invoke.DelegateDel(delegateConf.Conf.Type, delegateConf.Bytes, exec); err != nil {
|
|
||||||
return logging.Errorf("Multus: error in invoke Delegate del - %q: %v", delegateConf.Conf.Type, err)
|
return logging.Errorf("Multus: error in invoke Delegate del - %q: %v", delegateConf.Conf.Type, err)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func delPlugins(exec invoke.Exec, argIfname string, delegates []*types.DelegateNetConf, lastIdx int, rt *libcni.RuntimeConf, binDir string) error {
|
func delPlugins(exec invoke.Exec, argIfname string, delegates []*types.DelegateNetConf, lastIdx int, rt *libcni.RuntimeConf, binDir string) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user