diff --git a/.env.example b/.env.example index ac40817..030d1bd 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,4 @@ +FATHOM_DEBUG=true FATHOM_DATABASE_DRIVER="sqlite3" FATHOM_DATABASE_NAME="./fathom.db" FATHOM_DATABASE_USER="" diff --git a/cmd/fathom/fathom.go b/cmd/fathom/fathom.go index 186e88f..fc9cb06 100644 --- a/cmd/fathom/fathom.go +++ b/cmd/fathom/fathom.go @@ -28,7 +28,7 @@ func main() { Flags: []cli.Flag{ cli.StringFlag{ EnvVar: "FATHOM_SERVER_ADDR", - Name: "addr", + Name: "addr,port", Usage: "server address", Value: ":8080", }, diff --git a/cmd/fathom/server.go b/cmd/fathom/server.go index c25779c..8d75e38 100644 --- a/cmd/fathom/server.go +++ b/cmd/fathom/server.go @@ -1,9 +1,11 @@ package main import ( + "net/http" + "strconv" + log "github.com/sirupsen/logrus" "github.com/urfave/cli" - "net/http" "github.com/gorilla/handlers" "github.com/usefathom/fathom/pkg/api" @@ -13,6 +15,7 @@ func server(c *cli.Context) error { var h http.Handler h = api.Routes() + // set debug log level if --debug was passed if c.Bool("debug") { log.SetLevel(log.DebugLevel) h = handlers.LoggingHandler(log.StandardLogger().Writer(), h) @@ -20,7 +23,13 @@ func server(c *cli.Context) error { log.SetLevel(log.WarnLevel) } + // if addr looks like a number, prefix with : addr := c.String("addr") + if _, err := strconv.Atoi(addr); err == nil { + addr = ":" + addr + } + + // start listening log.Infof("Server listening on %s", addr) err := http.ListenAndServe(addr, h) if err != nil {