mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-06-08 23:56:04 +00:00
Skip setting of log file for --version flag
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
bdb43aa8f2
commit
19138a2110
@ -49,7 +49,10 @@ func UpdateLogger(filename string, logLevel string, argv []string) (*Logger, err
|
|||||||
level, logLevelError := configFromArgs.getLevel(logLevel)
|
level, logLevelError := configFromArgs.getLevel(logLevel)
|
||||||
|
|
||||||
var logFiles []*os.File
|
var logFiles []*os.File
|
||||||
|
var argLogFileError error
|
||||||
|
|
||||||
|
// We don't create log files if the version argument is supplied
|
||||||
|
if !configFromArgs.version {
|
||||||
configLogFile, err := createLogFile(filename)
|
configLogFile, err := createLogFile(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return logger, fmt.Errorf("error opening debug log file: %v", err)
|
return logger, fmt.Errorf("error opening debug log file: %v", err)
|
||||||
@ -58,10 +61,12 @@ func UpdateLogger(filename string, logLevel string, argv []string) (*Logger, err
|
|||||||
logFiles = append(logFiles, configLogFile)
|
logFiles = append(logFiles, configLogFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
argLogFile, argLogFileError := createLogFile(configFromArgs.file)
|
argLogFile, err := createLogFile(configFromArgs.file)
|
||||||
if argLogFile != nil {
|
if argLogFile != nil {
|
||||||
logFiles = append(logFiles, argLogFile)
|
logFiles = append(logFiles, argLogFile)
|
||||||
}
|
}
|
||||||
|
argLogFileError = err
|
||||||
|
}
|
||||||
|
|
||||||
l := &Logger{
|
l := &Logger{
|
||||||
Logger: logrus.New(),
|
Logger: logrus.New(),
|
||||||
@ -69,18 +74,6 @@ func UpdateLogger(filename string, logLevel string, argv []string) (*Logger, err
|
|||||||
logFiles: logFiles,
|
logFiles: logFiles,
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(logFiles) == 0 {
|
|
||||||
l.SetOutput(io.Discard)
|
|
||||||
} else if len(logFiles) == 1 {
|
|
||||||
l.SetOutput(logFiles[0])
|
|
||||||
} else {
|
|
||||||
var writers []io.Writer
|
|
||||||
for _, f := range logFiles {
|
|
||||||
writers = append(writers, f)
|
|
||||||
}
|
|
||||||
l.SetOutput(io.MultiWriter(writers...))
|
|
||||||
}
|
|
||||||
|
|
||||||
l.SetLevel(level)
|
l.SetLevel(level)
|
||||||
if level == logrus.DebugLevel {
|
if level == logrus.DebugLevel {
|
||||||
logrus.SetReportCaller(true)
|
logrus.SetReportCaller(true)
|
||||||
@ -102,6 +95,18 @@ func UpdateLogger(filename string, logLevel string, argv []string) (*Logger, err
|
|||||||
l.SetFormatter(new(logrus.JSONFormatter))
|
l.SetFormatter(new(logrus.JSONFormatter))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(logFiles) == 0 {
|
||||||
|
l.SetOutput(io.Discard)
|
||||||
|
} else if len(logFiles) == 1 {
|
||||||
|
l.SetOutput(logFiles[0])
|
||||||
|
} else if len(logFiles) > 1 {
|
||||||
|
var writers []io.Writer
|
||||||
|
for _, f := range logFiles {
|
||||||
|
writers = append(writers, f)
|
||||||
|
}
|
||||||
|
l.SetOutput(io.MultiWriter(writers...))
|
||||||
|
}
|
||||||
|
|
||||||
if logLevelError != nil {
|
if logLevelError != nil {
|
||||||
l.Warn(logLevelError)
|
l.Warn(logLevelError)
|
||||||
}
|
}
|
||||||
@ -156,6 +161,7 @@ type loggerConfig struct {
|
|||||||
file string
|
file string
|
||||||
format string
|
format string
|
||||||
debug bool
|
debug bool
|
||||||
|
version bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c loggerConfig) getLevel(logLevel string) (logrus.Level, error) {
|
func (c loggerConfig) getLevel(logLevel string) (logrus.Level, error) {
|
||||||
@ -182,15 +188,24 @@ func parseArgs(args []string) loggerConfig {
|
|||||||
found := make(map[string]bool)
|
found := make(map[string]bool)
|
||||||
|
|
||||||
for i := 0; i < len(args); i++ {
|
for i := 0; i < len(args); i++ {
|
||||||
if len(found) == 3 {
|
if len(found) == 4 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
param := args[i]
|
param := args[i]
|
||||||
|
|
||||||
parts := strings.SplitN(param, "=", 2)
|
parts := strings.SplitN(param, "=", 2)
|
||||||
trimmed := strings.TrimPrefix(parts[0], "--")
|
trimmed := strings.TrimLeft(parts[0], "-")
|
||||||
if !strings.HasPrefix(parts[0], "--") {
|
// If this is not a flag we continue
|
||||||
|
if parts[0] == trimmed {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check the version flag
|
||||||
|
if trimmed == "version" {
|
||||||
|
c.version = true
|
||||||
|
found["version"] = true
|
||||||
|
// For the version flag we don't process any other flags
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@ import (
|
|||||||
"github.com/NVIDIA/nvidia-container-toolkit/internal/config"
|
"github.com/NVIDIA/nvidia-container-toolkit/internal/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var Version string
|
||||||
|
|
||||||
var logger = NewLogger()
|
var logger = NewLogger()
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
Loading…
Reference in New Issue
Block a user