diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-12-09 21:08:06 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-12-09 21:10:10 +0100 |
commit | a4808f1fa4470a384320382b72a9f280475a032e (patch) | |
tree | 336eaa51d43822fea74892c3ab8bdff92fa23bf0 | |
parent | 0d3594284e44ab3506be5322a2289af06cf8453c (diff) |
http: Log server errors
-rw-r--r-- | cmd/echoip/main.go | 6 | ||||
-rw-r--r-- | http/http.go | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/cmd/echoip/main.go b/cmd/echoip/main.go index 9d1364d..ecd1e7a 100644 --- a/cmd/echoip/main.go +++ b/cmd/echoip/main.go @@ -29,6 +29,11 @@ func (f *multiValueFlag) Set(v string) error { return nil } +func init() { + log.SetPrefix("echoip: ") + log.SetFlags(log.Lshortfile) +} + func main() { countryFile := flag.String("f", "", "Path to GeoIP country database") cityFile := flag.String("c", "", "Path to GeoIP city database") @@ -47,7 +52,6 @@ func main() { return } - log := log.New(os.Stderr, "echoip: ", 0) r, err := geo.Open(*countryFile, *cityFile, *asnFile) if err != nil { log.Fatal(err) diff --git a/http/http.go b/http/http.go index 9545dc1..246d3bf 100644 --- a/http/http.go +++ b/http/http.go @@ -5,6 +5,7 @@ import ( "fmt" "html/template" "io/ioutil" + "log" "path/filepath" "strings" @@ -383,6 +384,9 @@ func wrapHandlerFunc(f http.HandlerFunc) appHandler { func (fn appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { if e := fn(w, r); e != nil { // e is *appError // When Content-Type for error is JSON, we need to marshal the response into JSON + if e.Code/100 == 5 { + log.Println(e.Error) + } if e.IsJSON() { var data = struct { Error string `json:"error"` |