-
Notifications
You must be signed in to change notification settings - Fork 272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set Logging Level #132
Comments
Yes, you need to pass the constant (logging.DEBUG / logging.INFO) and the name of your logger instance. Only messages written to the logger at the specified allowed level will then be output, others will be discarded. e.g. use logging.SetLevel(logging.INFO, "myLog") |
Dosent work logging.SetLevel(logging.INFO,"")
backend := logging.NewLogBackend(os.Stderr, "", 0)
backend2Formatter := logging.NewBackendFormatter(backend, format)
logging.SetLevel(logging.INFO, "myLog")
if strings.ToUpper(*LOG_LEVEL) == "ERROR" {
logging.SetLevel(logging.ERROR, "myLog")
} else if strings.ToUpper(*LOG_LEVEL) == "INFO" {
logging.SetLevel(logging.INFO, log.Module)
} else if strings.ToUpper(*LOG_LEVEL) == "DEBUG" {
logging.SetLevel(logging.DEBUG, "myLog")
} else if strings.ToUpper(*LOG_LEVEL) == "CRITICAL" {
logging.SetLevel(logging.CRITICAL, "myLog")
} else if strings.ToUpper(*LOG_LEVEL) == "NOTICE" {
logging.SetLevel(logging.NOTICE, "myLog")
} else if strings.ToUpper(*LOG_LEVEL) == "WARNING" {
logging.SetLevel(logging.WARNING, "myLog")
} else {
logging.SetLevel(logging.INFO, log.Module)
}
logging.SetBackend(backend2Formatter)
log.Info(logging.GetLevel(log.Module)) |
Try this stdout := logging.NewLogBackend(os.Stdout, "", 0)
format := logging.MustStringFormatter(`%{color}%{time:15:04:05.000} %{shortfunc} ▶ %{level:.5s} %{id:03x}%{color:reset} %{message}`)
logging.SetFormatter(format)
levelBackend := logging.AddModuleLevel(stdout)
switch strings.ToUpper(*LOG_LEVEL) {
case "CRITICAL":
levelBackend.SetLevel(logging.CRITICAL, "")
case "ERROR":
levelBackend.SetLevel(logging.ERROR, "")
case "WARN":
levelBackend.SetLevel(logging.WARNING, "")
case "NOTICE":
levelBackend.SetLevel(logging.NOTICE, "")
case "DEBUG":
levelBackend.SetLevel(logging.DEBUG, "")
default:
levelBackend.SetLevel(logging.INFO, "")
}
logging.SetBackend(levelBackend) |
@utkudarilmaz Thanx! |
Hi @utkudarilmaz! can i change the log level after the log was initialized? i see that SetLevel() doesn't have any locking mechanism. is this the right way to do it? Logging.SetLevel()? or init the log again? |
What does SetLevel() do?
If I set the logging level to logging.INFO, will only the message written to logging.Info() be written?
Sorry for the remedial question.
Thank you
The text was updated successfully, but these errors were encountered: