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"`