diff --git a/server/server.go b/server/server.go index 23a8a73..2dd6ff4 100644 --- a/server/server.go +++ b/server/server.go @@ -64,13 +64,12 @@ func Listen() { isReady.Store(true) if config.UITLSCert != "" && config.UITLSKey != "" { - logger.Log().Infof("[http] starting secure server on https://%s%s", config.HTTPListen, config.Webroot) + logger.Log().Infof("[http] starting secure server on https://%s%s", logger.CleanIP(config.HTTPListen), config.Webroot) logger.Log().Fatal(http.ListenAndServeTLS(config.HTTPListen, config.UITLSCert, config.UITLSKey, nil)) } else { - logger.Log().Infof("[http] starting server on http://%s%s", config.HTTPListen, config.Webroot) + logger.Log().Infof("[http] starting server on http://%s%s", logger.CleanIP(config.HTTPListen), config.Webroot) logger.Log().Fatal(http.ListenAndServe(config.HTTPListen, nil)) } - } func defaultRoutes() *mux.Router { diff --git a/server/smtpd/smtpd.go b/server/smtpd/smtpd.go index 6588710..1bafdb0 100644 --- a/server/smtpd/smtpd.go +++ b/server/smtpd/smtpd.go @@ -71,7 +71,7 @@ func Listen() error { } } - logger.Log().Infof("[smtp] starting on %s", config.SMTPListen) + logger.Log().Infof("[smtp] starting on %s", logger.CleanIP(config.SMTPListen)) return listenAndServe(config.SMTPListen, mailHandler, authHandler) } diff --git a/utils/logger/logger.go b/utils/logger/logger.go index 63ca810..7496bdd 100644 --- a/utils/logger/logger.go +++ b/utils/logger/logger.go @@ -1,9 +1,11 @@ +// Package logger handles the logging package logger import ( "encoding/json" "fmt" "os" + "regexp" "github.com/axllent/mailpit/config" "github.com/sirupsen/logrus" @@ -45,3 +47,14 @@ func PrettyPrint(i interface{}) { s, _ := json.MarshalIndent(i, "", "\t") fmt.Println(string(s)) } + +// CleanIP returns a human-readable IP for the logging interface +// when starting services. It translates [::]: to "localhost:" +func CleanIP(s string) string { + re := regexp.MustCompile(`^\[\:\:\]\:\d+`) + if re.MatchString(s) { + return "0.0.0.0:" + s[5:] + } + + return s +}