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"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -73,13 +74,6 @@ func main() {
|
|||||||
config.Usage()
|
config.Usage()
|
||||||
return
|
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.
|
// Process configuration.
|
||||||
config.Version = version
|
config.Version = version
|
||||||
config.BuildDate = date
|
config.BuildDate = date
|
||||||
@@ -92,6 +86,13 @@ func main() {
|
|||||||
conf.POP3.Debug = true
|
conf.POP3.Debug = true
|
||||||
conf.SMTP.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.
|
// Setup signal handler.
|
||||||
sigChan := make(chan os.Signal, 1)
|
sigChan := make(chan os.Signal, 1)
|
||||||
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
|
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
|
||||||
@@ -166,9 +167,20 @@ signalLoop:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// openLog configures zerolog output, returns func to close logfile.
|
// openLog configures zerolog output, returns func to close logfile.
|
||||||
func openLog(logfile string, json bool) (close func(), err error) {
|
func openLog(level string, logfile string, json bool) (close func(), err error) {
|
||||||
close = func() {}
|
switch strings.ToUpper(level) {
|
||||||
|
case "DEBUG":
|
||||||
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
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
|
var w io.Writer
|
||||||
color := true
|
color := true
|
||||||
switch logfile {
|
switch logfile {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Running `inbucket -help` will yield a condensed summary of the environment
|
|||||||
variables it supports:
|
variables it supports:
|
||||||
|
|
||||||
KEY DEFAULT DESCRIPTION
|
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_ADDR 0.0.0.0:2500 SMTP server IP4 host:port
|
||||||
INBUCKET_SMTP_DOMAIN inbucket HELO domain
|
INBUCKET_SMTP_DOMAIN inbucket HELO domain
|
||||||
INBUCKET_SMTP_DOMAINNOSTORE Load testing 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.
|
with WARN or ERROR.
|
||||||
|
|
||||||
- Default: `INFO`
|
- Default: `INFO`
|
||||||
- Values: one of `TRACE`, `INFO`, `WARN`, or `ERROR`
|
- Values: one of `DEBUG`, `INFO`, `WARN`, or `ERROR`
|
||||||
|
|
||||||
|
|
||||||
## SMTP
|
## SMTP
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ var (
|
|||||||
|
|
||||||
// Root wraps all other configurations.
|
// Root wraps all other configurations.
|
||||||
type Root struct {
|
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
|
SMTP SMTP
|
||||||
POP3 POP3
|
POP3 POP3
|
||||||
Web Web
|
Web Web
|
||||||
|
|||||||
Reference in New Issue
Block a user