1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 09:37:02 +00:00

config: lowercase log levels for #90

This commit is contained in:
James Hillyerd
2018-04-01 20:50:18 -07:00
parent d1dbcf6e63
commit 8c66a24513
6 changed files with 18 additions and 17 deletions

View File

@@ -6,7 +6,7 @@ FROM golang:1.10-alpine
# Configuration
ENV INBUCKET_SRC $GOPATH/src/github.com/jhillyerd/inbucket
ENV INBUCKET_HOME /opt/inbucket
ENV INBUCKET_SMTP_DOMAINNOSTORE bitbucket.local
ENV INBUCKET_SMTP_DISCARDDOMAINS bitbucket.local
ENV INBUCKET_SMTP_TIMEOUT 30s
ENV INBUCKET_POP3_TIMEOUT 30s
ENV INBUCKET_WEB_UIDIR $INBUCKET_HOME/ui

View File

@@ -11,7 +11,6 @@ import (
"os"
"os/signal"
"runtime"
"strings"
"syscall"
"time"
@@ -168,17 +167,17 @@ signalLoop:
// openLog configures zerolog output, returns func to close logfile.
func openLog(level string, logfile string, json bool) (close func(), err error) {
switch strings.ToUpper(level) {
case "DEBUG":
switch level {
case "debug":
zerolog.SetGlobalLevel(zerolog.DebugLevel)
case "INFO":
case "info":
zerolog.SetGlobalLevel(zerolog.InfoLevel)
case "WARN":
case "warn":
zerolog.SetGlobalLevel(zerolog.WarnLevel)
case "ERROR":
case "error":
zerolog.SetGlobalLevel(zerolog.ErrorLevel)
default:
return nil, fmt.Errorf("Log level %q not one of: DEBUG, INFO, WARN, ERROR", level)
return nil, fmt.Errorf("Log level %q not one of: debug, info, warn, error", level)
}
close = func() {}
var w io.Writer

View File

@@ -8,7 +8,7 @@ Running `inbucket -help` will yield a condensed summary of the environment
variables it supports:
KEY DEFAULT DESCRIPTION
INBUCKET_LOGLEVEL INFO DEBUG, 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_MAXRECIPIENTS 200 Maximum RCPT TO per message
@@ -47,11 +47,11 @@ The following documentation will describe each of these in more detail.
`INBUCKET_LOGLEVEL`
This setting controls the verbosity of log output. A small desktop installation
should probably select INFO, but a busy shared installation would be better off
with WARN or ERROR.
should probably select `info`, but a busy shared installation would be better
off with `warn` or `error`.
- Default: `INFO`
- Values: one of `DEBUG`, `INFO`, `WARN`, or `ERROR`
- Default: `info`
- Values: one of `debug`, `info`, `warn`, or `error`
## SMTP

View File

@@ -2,8 +2,8 @@
# dev-start.sh
# description: Developer friendly Inbucket configuration
export INBUCKET_LOGLEVEL="DEBUG"
export INBUCKET_SMTP_DOMAINNOSTORE="bitbucket.local"
export INBUCKET_LOGLEVEL="debug"
export INBUCKET_SMTP_DISCARDDOMAINS="bitbucket.local"
export INBUCKET_WEB_TEMPLATECACHE="false"
export INBUCKET_WEB_COOKIEAUTHKEY="not-secret"
export INBUCKET_STORAGE_TYPE="file"

View File

@@ -8,7 +8,7 @@ User=daemon
Group=daemon
PermissionsStartOnly=true
Environment=INBUCKET_LOGLEVEL=WARN
Environment=INBUCKET_LOGLEVEL=warn
Environment=INBUCKET_SMTP_ADDR=0.0.0.0:2500
Environment=INBUCKET_POP3_ADDR=0.0.0.0:1100
Environment=INBUCKET_WEB_ADDR=0.0.0.0:9000

View File

@@ -3,6 +3,7 @@ package config
import (
"log"
"os"
"strings"
"text/tabwriter"
"time"
@@ -30,7 +31,7 @@ var (
// Root wraps all other configurations.
type Root struct {
LogLevel string `required:"true" default:"INFO" desc:"DEBUG, INFO, WARN, or ERROR"`
LogLevel string `required:"true" default:"info" desc:"debug, info, warn, or error"`
SMTP SMTP
POP3 POP3
Web Web
@@ -86,6 +87,7 @@ type Storage struct {
func Process() (*Root, error) {
c := &Root{}
err := envconfig.Process(prefix, c)
c.LogLevel = strings.ToLower(c.LogLevel)
stringutil.SliceToLower(c.SMTP.AcceptDomains)
stringutil.SliceToLower(c.SMTP.RejectDomains)
stringutil.SliceToLower(c.SMTP.StoreDomains)