mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
config: Use log level name DEBUG instead of TRACE
Add log level parsing into openLog() for #90
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"os"
|
||||
"os/signal"
|
||||
"runtime"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
@@ -73,13 +74,6 @@ func main() {
|
||||
config.Usage()
|
||||
return
|
||||
}
|
||||
// Logger setup.
|
||||
closeLog, err := openLog(*logfile, *logjson)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Log error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
startupLog := log.With().Str("phase", "startup").Logger()
|
||||
// Process configuration.
|
||||
config.Version = version
|
||||
config.BuildDate = date
|
||||
@@ -92,6 +86,13 @@ func main() {
|
||||
conf.POP3.Debug = true
|
||||
conf.SMTP.Debug = true
|
||||
}
|
||||
// Logger setup.
|
||||
closeLog, err := openLog(conf.LogLevel, *logfile, *logjson)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Log error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
startupLog := log.With().Str("phase", "startup").Logger()
|
||||
// Setup signal handler.
|
||||
sigChan := make(chan os.Signal, 1)
|
||||
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
|
||||
@@ -166,9 +167,20 @@ signalLoop:
|
||||
}
|
||||
|
||||
// openLog configures zerolog output, returns func to close logfile.
|
||||
func openLog(logfile string, json bool) (close func(), err error) {
|
||||
close = func() {}
|
||||
func openLog(level string, logfile string, json bool) (close func(), err error) {
|
||||
switch strings.ToUpper(level) {
|
||||
case "DEBUG":
|
||||
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
||||
case "INFO":
|
||||
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
||||
case "WARN":
|
||||
zerolog.SetGlobalLevel(zerolog.WarnLevel)
|
||||
case "ERROR":
|
||||
zerolog.SetGlobalLevel(zerolog.ErrorLevel)
|
||||
default:
|
||||
return nil, fmt.Errorf("Log level %q not one of: DEBUG, INFO, WARN, ERROR", level)
|
||||
}
|
||||
close = func() {}
|
||||
var w io.Writer
|
||||
color := true
|
||||
switch logfile {
|
||||
|
||||
@@ -8,7 +8,7 @@ Running `inbucket -help` will yield a condensed summary of the environment
|
||||
variables it supports:
|
||||
|
||||
KEY DEFAULT DESCRIPTION
|
||||
INBUCKET_LOGLEVEL INFO TRACE, INFO, WARN, or ERROR
|
||||
INBUCKET_LOGLEVEL INFO DEBUG, INFO, WARN, or ERROR
|
||||
INBUCKET_SMTP_ADDR 0.0.0.0:2500 SMTP server IP4 host:port
|
||||
INBUCKET_SMTP_DOMAIN inbucket HELO domain
|
||||
INBUCKET_SMTP_DOMAINNOSTORE Load testing domain
|
||||
@@ -47,7 +47,7 @@ should probably select INFO, but a busy shared installation would be better off
|
||||
with WARN or ERROR.
|
||||
|
||||
- Default: `INFO`
|
||||
- Values: one of `TRACE`, `INFO`, `WARN`, or `ERROR`
|
||||
- Values: one of `DEBUG`, `INFO`, `WARN`, or `ERROR`
|
||||
|
||||
|
||||
## SMTP
|
||||
|
||||
@@ -29,7 +29,7 @@ var (
|
||||
|
||||
// Root wraps all other configurations.
|
||||
type Root struct {
|
||||
LogLevel string `required:"true" default:"INFO" desc:"TRACE, INFO, WARN, or ERROR"`
|
||||
LogLevel string `required:"true" default:"INFO" desc:"DEBUG, INFO, WARN, or ERROR"`
|
||||
SMTP SMTP
|
||||
POP3 POP3
|
||||
Web Web
|
||||
|
||||
Reference in New Issue
Block a user