blob: ad67226893ebdde3bca09f2de6cbbb5fd5b8b3d9 [file] [log] [blame]
/*
* Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package common
import log "github.com/sirupsen/logrus"
func SetLogLevel(logger *log.Logger, level string, caller bool) {
logger.SetReportCaller(caller)
Formatter := new(log.TextFormatter)
Formatter.TimestampFormat = "2006-01-02T15:04:05.999999999Z07:00"
Formatter.FullTimestamp = true
//Formatter.ForceColors = true
logger.SetFormatter(Formatter)
switch level {
case "trace":
logger.SetLevel(log.TraceLevel)
case "debug":
logger.SetLevel(log.DebugLevel)
case "info":
logger.SetLevel(log.InfoLevel)
case "warn":
logger.SetLevel(log.WarnLevel)
case "error":
logger.SetLevel(log.ErrorLevel)
default:
logger.SetLevel(log.DebugLevel)
logger.WithFields(log.Fields{
"level": level,
}).Warn("The provided level is unknown. Defaulting to 'debug'")
}
}